kubernetes 常用命令
获取帮助:
kubectl
查看节点:
kubectl get nodes
查看pods
kubectl get pods kubectl get deployment kubectl get pods -o wide 详细信息
查看node的详细信息:
kubectl describe node node1 kubectl describe pods mysql-2lx9b # 可以查看pod的创建错误等信息
查看集群信息:
kubectl cluster-info
查看名称空间:
kubectl get namespace
查看某个名称空间:
kubectl get pods -n kube-system -o wide
创建Pod:
kubectl create -f xxx.yaml
删除Pod:
kubectl delete pods <podname>
查看Pod:
kubectl describe pods <podname>
进入Pod:
kubectl exec -it busybox /bin/sh
查看service:
kubectl get services kubectl get svc kubectl get service -n kube-system
缩减添加Pod:
kubectl scale rc redis-slave --replicas=3
标签
查看Pod标签:
kubectl get pods --show-labels
标签过滤器:
kubectl get pods -l app # 显示拥有标签为app的Pod
kubectl get pods -l myapp --show-labels 过滤并显示标签
kubectl get pods -l app=busybox,myapp=testapp 筛选多个标签
等值关系:=、==、!=
集合关系:key in ( value, value2... )
key notin ( value, value2... )
key
! key
在yaml中定义选择器时,matchLabels 和 matchExpression中 service只支持第一种。
kubectl get pods -L app 显示标签的值,显示的是app标签的值
打标签:
kubectl label pods <podname> release=canary
修改已有的标签:
kubectl label pods <podname> release=stable --overwrite
kubectl run :创建Pod
run 命令用来创建一个Pod。
kubectl run 控制器名称 --image=镜像名称:latest --replicas=Pod个数
kubectl run nginx --image=nginx --replicas=2 --dry-run
--replicas=2 Pod的个数
--port 80 暴露的端口
--dry-run=true 干跑模式
--restart=Never 加上这个选项表示镜像丢失不在补充
--command -- <cmd> <arg1>... 不运行默认的命令,这个选项用来定义命令
删除命令行创建的Pod:
kubectl run nginx --image=nginx --dry-run -o yaml | kubectl delete -f -
kubectl expose:创建service
kubectl expose --port=服务端口 --target-port=容器端口
kubectl expose deployment nginx --name=nginx --port=80 --target-port=80 --protocol=TCP
--name=name service 的名称
--type=type service 的类型
--protocol=TCP 协议类型
扩容缩容 scale:
kubectl run nginx-test --image=nginx:latest --dry-run -o yaml | kubectl scale --replicas=3 deployment/nginx-test