kubernetes常用命令使用方法
管理命名空间资源 |
查找命名空间
kubectl get namespace
kubectl get ns
查询某个命名空间的资源
kubectl get all -n default
创建命名空间
kubectl create namespace testapp
kubectl create ns testapp
删除命名空间
kubectl delete namespace testapp
kubectl delete ns testapp
Pod管理 |
创建Pod
kubectl run demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1 --port=801
查看Pod
kubectl get pod
kubectl get pod -o wide
查看pod详细信息
kubectl describe pod demo1-mvcone
查看pod日志
kubectl logs pod名称
kubectl logs demo1-mvcone-nbs
查看pod日志(实行更新)
kubectl logs pod名称 -f
kubectl logs demo1-mvcone-nbs -f
查看pod创建状态
kubectl rollout status pod demo1-mvcone
进入某个pod,(像nginx, mediasoup这类可执行文件才可以)
kubectl exec -ti 容器名称 /bin/bash
kubectl exec -ti demo1-mvcone-nbs /bin/bash
也可以在docker里用 docker exec
管理DaemonSet资源 |
创建DaemonSet(默认命名空间)
kubectl create daemonset demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
创建DaemonSet(创建到指定命名空间)
kubectl create daemonset demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1 -n kube-public
查看默认命名空间下的DaemonSet
kubectl get daemonset -o wide
查看指定命名空间下的DaemonSet
kubectl get daemonset -n kube-public -o wide
查看详细 DaemonSet 信息
kubectl describe daemonset demo1-mvcone
查看daemonset创建状态
kubectl rollout status daemonset demo1-mvcone
管理Deployment |
创建deployment(默认命名空间)
kubectl create deployment demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
创建deployment(创建到指定命名空间)
kubectl create deployment demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1 -n kube-public
查看默认命名空间下的deployment
kubectl get deploy -o wide
kubectl get deploy
查看指定命名空间下的deployment
kubectl get deploy -n kube-public -o wide
kubectl get deploy -n kube-public
查看详细 Deployment 信息
kubectl describe deployment demo1-mvcone
查看deploy创建状态
kubectl rollout status deploy demo1-mvcone
deployment扩容与缩容
kubectl scale deployment demo1-mvcone --replicas=2
--replicas=n比以前大就是扩容,比以前小就是缩容。
更新deployment镜像(镜像升级,从v1.0.1版本升级到v1.0.2版本)
kubectl set image deploy deploy名称 容器名称=镜像:版本
kubectl set image deploy demo1-mvcone demo1-mvcone-s7scb=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.2
查看历史升级记录
kubectl rollout history deploy demo1-mvcone
查看某个版本的升级明细
kubectl rollout history deploy demo1-mvcone --revision=2
回滚到上一个版本
kubectl rollout undo deploy demo1-mvcone
回滚到指定版本
kubectl rollout undo deploy demo1-mvcone --to-revision=2
修改deployment可以使用的cpu、内存资源
kubectl set resources deploy demo1-mvcone -c=demo1-mvc-nbc --limits=cpu=200m,memory=512Mi
kubectl set resources deploy deployment名称 -c=容器名称 --limits=cpu=200m,memory=512Mi
监控某个命令的事件变化
先在【工作节点1】上执行:watch -n 1 "kubectl describe deployment demo1-mvcone | grep -C 5 Event"
然后在【工作节点2】上执行删除pod的命令,kubectl delete pods demo1-mvcone-5dfc739593-hpk9m
那么在【工作节点1】的watch输出信息会即时发生变化'
管理Service资源 |
创建deployment
kubectl create deployment demo1-mvcone --image=192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
创建service
只有deployment才可以被创建成service 。
kubectl expose deployment demo1-mvcone --type="NodePort" --port=3001 --target-port=3001
--port 服务端口
--target-port 容器端口
注意:创建出来的service暴露出来的ip:192.168.131.114是虚拟ip,外部不能访问,但集群内部可以访问,包括运算节点也可以访问。
注意:不能给DaemonSet创建service。
查看service
kubectl get service -o wide
通过yaml配置文件增加与修改资源 |
创建资源
kubectl create -f yaml配置文件名.yaml
kubectl create -f /opt/kubernetes/server/startup/demo1-mvcone-pod.yaml #通过yaml文件创建pod
kubectl create -f /opt/kubernetes/server/startup/demo1-mvcone-deploy.yaml #通过yaml文件创建Deployment
kubectl create -f /opt/kubernetes/server/startup/demo1-mvcone-daemon.yaml #通过yaml文件创建DaemonSet
创建资源的类型写在yaml文件里面
修改已存在的资源
kubectl apply -f yaml配置文件名.yaml
kubectl apply -f /opt/kubernetes/server/startup/demo1-mvcone-pod.yaml #通过yaml文件修改pod
kubectl apply -f /opt/kubernetes/server/startup/demo1-mvcone-deploy.yaml #通过yaml文件修改Deployment
kubectl apply -f /opt/kubernetes/server/startup/demo1-mvcone-daemon.yaml #通过yaml文件修改DaemonSet
查看资源配置清单 |
用yaml格式查看资源配置清单
kubectl get service demo1-mvcibe -o yaml #查看service
kubectl get deployment demo1-mvcibe -o yaml #查看deployment
kubectl get daemonset demo1-mvcibe -o yaml #查看daemonset
kubectl get pod demo1-mvcibe-dfedf4-sf56 -o yaml #查看pod
用json格式查看资源配置清单
kubectl get service demo1-mvcibe -o json #查看service
kubectl get deployment demo1-mvcibe -o json #查看deployment
kubectl get daemonset demo1-mvcibe -o json #查看daemonset
kubectl get pod demo1-mvcibe-dfedf4-sf56 -o json #查看pod
用wide表格方式查看资源配置清单
kubectl get service demo1-mvcibe -o wide #查看service
kubectl get deployment demo1-mvcibe -o wide #查看deployment
kubectl get daemonset demo1-mvcibe -o wide #查看daemonset
kubectl get pod demo1-mvcibe-dfedf4-sf56 -o wide #查看pod
用yaml配置文件删除资源 |
删除资源
kubectl delete -f yaml配置文件名.yaml
kubectl delete -f /opt/kubernetes/server/startup/demo1-mvcone-pod.yaml #通过yaml文件删除pod
kubectl delete -f /opt/kubernetes/server/startup/demo1-mvcone-deploy.yaml #通过yaml文件删除Deployment
kubectl delete -f /opt/kubernetes/server/startup/demo1-mvcone-daemon.yaml #通过yaml文件删除DaemonSet
文件内容就是创建资源的内容。