# pod名称+svc名称+命名空间+svc.cluster.local 固定写法 访问 pod或者svc
# 获取token
kubectl create serviceaccount k8s-admin -n kube-system
kubectl create clusterrolebinding k8s-admin --clusterrole=cluster-admin --serviceaccount=kube-system:k8s-admin
kubectl -n kube-system describe secrets $(kubectl -n kube-system get secret | grep k8s-admin | awk '{print $1}')
kubectl get secrets -n kube-system | grep admin-user-token | awk '{print $1}' | xargs -i kubectl describe secrets -n kube-system {}
kubectl get svc -n kube-system |grep kube-dns # 集群的dns地址
dig -t A nginx.default.svc.cluster.local @10.68.0.2
dig -t A mq-namesrv-0.mq-namesrv.dev.svc.cluster.local @10.68.0.2
kubectl rollout restart deployment xxxxx -n xxx # 重启pod
kubectl cordon m1 # 设置不可调度
kubectl uncordon m1 # 取消节点不可调度
kubectl taint node k8s-master gameble- #删除污点
kubectl drain --ignore-daemonsets --delete-local-data node-01 # 驱逐节点的pod
kubectl delete node node-01 # 删除节点
kubectl label nodes s1 disktype=ssd # 给节点添加标签
kubectl get nodes --show-labels # 查看节点标签
rpm -ql kubelet # 查看安装了那些内容 master
kubeadm version # 查看 kubeadm 版本
kubectl get cs # 检测集群状态
kubectl cluster-info # 查看集群信息
iptables -vnL -t nat # 查看路由
# 查看相关 都包含 -o wide 或者 --show-labels(显示标签) -n kube-system(指定名称空间)
kubectl get pods --show-labels # 查看pods 显示标签
kubectl describe pod nginx-deploy-5d6b4c9df5-hbgj6 # 查看 命名空间 default prod详细信息
kubectl get pods myapp-1 -o yaml --export # 导出一个pod的 yaml文件格式
kubectl get pods -l app --show-labels # 根据标签 来显示指定的pods
kubectl label pods pod-demo myenv=prod # 增加一个标签
kubectl label pods pod-demo myenv=pre --overwrite # 修改一个标签 对于已经存在的 不能直接修改 要加 --overwrite
kubectl get pods -l myenv,app --show-labels # 既已拥有 myenv 标签 又拥有 app标签的 pods
kubectl get pod -l app=pod-01 --show-labels # 根据标签 key:value 准确选择pods
kubectl get pods -l myenv=pre,app=myapp --show-labels # 满足多个标签选择
kubectl get pods -l "myenv in (pre,uat)" --show-labels # 选择 key为myenv 但是 value 为pre和uat的
kubectl get pods -l "myenv notin (pre,uat)" --show-labels # notin 只要不 包含 myenv=uat myenv=pre
#
kubectl get rs # 查看rs控制器
kubectl edit rs rs-app # 动态调整(扩容) rs #
kubectl scale --replicas=5 deployment myapp # 动态调整pod数量
kubectl set image deployment myapp myapp=ikubernetes/myapp:v3 # 动态升级
kubectl rollout status deployment myapp # 查看滚动升级过程
kubectl rollout undo deployment myapp # 回滚(默认回滚到上一个版本)