Administrator
Published on 2022-03-04 / 108 Visits
0
0

K8s 与Docker 命令集合

※1、k8s查询类整合

Command	                                                使用信息
kubectl get pods --all-namespaces                       查询所有POD(正在运行容器)信息
kubectl get pod -n kube-system -o wide                  查询命名空间为kube-system 的详细信息
kubectl get namespaces	                                查询所有命名空间
kubectl describe pods etcd-k8s-master01 -n kube-system  查询pod 名字为etcd-k8s-master01 命名空间为kube-system 的详细运行信息(适用于排查pod异常)
kubectl get nodes	                                      查询所有master与node 工作节点信息
kubectl describe node k8s-node01                        查询节点为k8s-node01 机器的内存CPU等指标信息
kubectl get deployment --all-namespaces	                查询所有部署的项目为deployment 的信息,包括未运行的pod
kubectl get pod etcd-k8s-master01 -n kube-system -o yaml	查询pod 名字为etcd-k8s-master01  并已yaml 格式输出,注:-o 参数可以使用json 输出
kubectl get services -A	                                查询所有pod 的服务网络与端口信息,以及网络的类型
kubectl get endpoints -A |grep -v "<none>"	            查询正在运行的容器 虚拟 网络端口映射信息
kubectl describe service kubernetes -n default	        查询名字为kubernetes 命名空间为default 详细的网络配置信息
kubectl get replicaset --all-namespaces	                查询所有容器定义运行信息以及历史容器创建的时间
kubectl version	                                        查询k8s 版本号
kubectl get node --show-labels	                        查询所有机器定义的匹配标签
kubectl get componentstatuses	                          查询k8s 组件运行状态,用于判断集群是否正常
kubectl logs -f etcd-k8s-master01 -n kube-system	      查询容器为etcd-k8s-master01 命名空间为kube-system 并且实时打印日志
kubectl logs --tail=20 etcd-k8s-master01 -n kube-system	查询容器为etcd-k8s-master01 命名空间为kube-system 打印20行日志信息

※2、k8s删除与停止操作

Command	                                                使用信息
kubectl  delete nodes  k8s-node01	                      删除集群节点名为:k8s-node01 等于移除集群,需重新join节点
kubectl delete pod etcd-k8s-master01 -n kube-system --force	删除pod名字为 etcd-k8s-master01 命名空间为kube-system,等同于重启pod(由于k8s机器pod是受控制器管理,会重新创建新POD)
kubectl delete deploy ptg2019 -n cgtest --force	        删除控制器为ptg2019 命名空间为cgtest,相当于删除POD
kubectl scale --replicas=0 deploy/nginx -n cgtest       关闭pod 名字为ptg2019  命名空间为cgtest 
kubectl scale --replicas=1 deploy/nginx -n cgtest       启动pod 名字为ptg2019  命名空间为cgtest  ,启动数目为1个
kubectl delete pod etcd-k8s-master01 -n kube-system --force --grace-period=0	强制删除pod etcd-k8s-master01 命名空间为kube-system ,强制等待时间
kubectl get pod etcd-k8s-master01 -n kube-system -o yaml >1.yaml  导出pod的yaml格式存在文件
kubectl delete -f 1.yaml                                使用命令指定文件删除pod

※3、k8s创建pod网络

Command	使用信息
kubectl create secret docker-registry test1 --namespace=cgtest --docker-username=k8s --docker-password=DDM54321ddm --docker-server=192.168.168.241	创建docker 拉取镜像账号,参数根据实际情况修改test1 为拉取账号名字
kubeadm token create --print-join-command	              创建node节点加入集群的命令,根据生成的命令复制到node机器运行
kubectl create configmap testaaa --from-file=portcm=server.xml	创建configmap 名字为testaaa,参数名为portcm   配置文件server.xml 该配置文件为本地文件
kubectl create deployment ddmnginx --image=nginx:1.8 --dry-run -o yaml >/tmp/1.yaml   生成deployment 配置文件,进入文件内添加需要的配置参数等
kubectl apply -f /tmp/1.yaml                            命令指定配置文件创建pod
kubectl expose deploy/ptg2019 -n cgtest --type=NodePort --port=8080 --target-port=1111	创建网桥,使容器端口映射到宿主机,deploy/ptg2019 为pod名字  cgtest  为命名空间  --port 为docker容器内部ip  --target-port为宿主机端口
kubectl create namespace dev	                          创建命名空间为dev
kubectl exec -ti ptg0125-7fbcd57646-rsnm8 -n cgtest /bin/bash	进入容器内部,使用容器内部命令,等于离开当前宿主机

※4、Docker命令大杂烩

Command	                                                使用信息
docker ps 	                                            查询当前机器运行的容器信息
docker ps -a 	                                          显示所有之前停止的容器以及正在运行的容器信息
docker restart  CONTAINER ID	CONTAINER ID              请根据查出来的更换,重启容器
docker exec -ti CONTAINER ID /bin/bash	                进入docker 容器内,离开当前宿主机
docker images                                           查询当前机器所有的镜像名字信息
docker save 192.168.168.241/test/nginx -o    nginx.tar  把当前docker镜像打包成tar包,传输到其他机器
docker load -i  nginx.tar                               加载本地tar包到docker镜像
docker tag 1c1f3ad9322f ddm:ptg0022                     给本地已有的镜像更换标签
docker rmi -f IMAGE ID	                                删除本地的镜像,释放本地空间
docker rm CONTAINER ID	                                删除本地已停止的镜像信息(不能删除镜像)
docker run –idt -p 8080:8080 tomcat                     启动一个镜像名字为tomcat 端口映射8080
docker system prune -a                                  请谨慎使用,该命令是删除已停止的镜像,释放空间

Comment