kubectl

kubectl create -f yaml文件#以yaml文件创建 加--record可以方便的查看每次revision的变化
kubectl apply -f yaml文件#以yaml文件升级更新现有的资源 加--record可以方便的查看每次revision的变化(kubectl rollout history deployment/deployment名字查看)
kubectl scale deployment deployment名称 --replicas=扩容数量#扩容
kubectl taint nodes node名字 key=value:effect #加上污点
kubectl autoscale deployment xxx名字 --cpu-percent=50 --min=1 --max=10#设置阈值为CPU利用率50%,最小一个副本,最多10个

kubectl delete pod pod名字#删除pod
kubectl delete rs rs名字#删除rs
kubectl delete -f yaml文件#根据yaml文件删除资源
kubectl taint nodes node名字 key- #删除污点
kubectl taint nodes node名字 key=value:effect- #删除污点
kubectl taint nodes node名字 key=value- #删除污点
kubectl taint nodes node名字 key:effect- #删除污点
kubectl delete pod --all -n xxx#删除某个namespace下的全部pod

kubectl explain #查看字段属性信息
kubectl describe pod pod名字#查看pod详细信息
kubectl log pod名字 -c 容器名#查看容器日志
kubectl get pod#查看pod 加 -o wide 查看详细信息 ;加--show-labels显示标签;-l 标签筛选
kubectl get svc#查看service
kubectl get deployment#查看deployment
kubectl get job#查看Job
kubectl exec pod名字 -c 容器名 -it -- /bin/bash(执行的命令)#以交互模式进入指定容器
kubectl rollout history deployment/deployment名字#查看回滚历史
kubectl rollout status deployments deployment名字#查看回滚状态
kubectl get ingress#查看ingress规则
kubectl get cm#查看configmap
kubectl get cm configmap名字 -o yaml#查看configmap内容describe也可以看
kubectl get secret#查看secret
kubectl get pv#查看PV
kubectl get pvc#查看PVC
kubectl get statefulset#查看statefulset
kubectl get hpa#查看HPA

kubectl label pod pod名字 label修改内容(KV)#增加label,加--overwrite=True重写已有标签
kubectl edit pod pod名字#编辑pod的yaml?
kubectl exec pod名字 -c 容器名 -it -- /bin/bash(执行的命令)#以交互模式进入指定容器
kubectl set image deployment/deployment名字 容器名(yaml中设置的)=新的镜像名#更新镜像
kubectl rollout undo deployment/deployment名字#回滚 加--to-revision=回滚版本回滚到特定版本
kubectl rollout pause deployment/deployment名字#暂停回滚
kubectl taint nodes node名字 key=:effect #修改污点effect
kubectl replace yaml文件#应用修改后的yaml(命令式)

Helm

helm install chart根目录#安装,--namespace=namespace名字 --name=release名字 -f xxx.yaml重写配置文件
helm upgrade release名字 templates目录#更新release
helm history release名字#查看release改动历史
helm list#已安装chart的list
helm status release#查看安装信息
helm delete release名字#删除
helm list deleted#查看未完全删除的release(可回滚)
helm rollback release名字 版本号#回滚
helm delete --purge release名字#完全删除(不能回滚)
helm fetch chart名字#下载chart所需文件
helm repo list#查看helm仓库
helm template Chart.yaml所在目录 -x templates/install-packages-job.yaml#输出渲染后的Chart的yaml模板,-x是只输出指定的yaml

其他

kubectl get xxx -o yaml#可以以yaml查看k8s的api对象
kubectl exec -it nginx-deployment-5c678cfb6d-lg9lw -- /bin/bash#进入容器
kubectl patch#跟新api对象
kubectl patch statefulset mysql --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"mysql:5.7.23"}]'statefulset.apps/mysql patched#以补丁方式修改spec/template/spec/containers/0/image下的内容

命令加--record参数可以记录以方便版本回滚