kubernetes是啥就不介绍了,搜索一下就行,这里简单罗列一下常用的一些操作。
陈述式命令
1. 查看
kubectl get pods,deploy,svc --show-labels #显示所有标签信息 -l app=example #指定显示包含的标签信息 -o wide #显示更为详细的信息
2. 发布
# 给nginx创建svc kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service
# 描述nginx-service详细内容
kubectl describe svc nginx-service
3. 故障排查
kubectl describe TYPE NAME_PREFIX
kubectl logs NAME_PREFIX
kubectl exec -it NAME_PREFIX bash
4. 更新
# 通过yaml更新nginx-deploy.yaml,--record=true(rollout history记录执行内容)
kubectl apply -f nginx-deploy.yaml --record=true
# 通过set修改容器镜像版本 kubectl set image deployment/nginx nginx=nginx:1.11 # 编辑deployment/nginx配置文件 kubectl edit deployment/nginx
# 资源发布管理
kubectl rollout status deployment/nginx
kubectl rollout history deployment/nginx
kubectl rollout history deployment/nginx --revision=3
# 暂停执行
kubectl rollout pause deployment nginx-deploy
# 恢复执行
kubectl rollout resume deployment nginx-deploy
# 修改副本数
kubectl scale deployment nginx --replicas=5
5. 回滚
# 回滚到上一个版本 kubectl rollout undo deployment/nginx-deployment # 回滚到第3个版本 kubectl rollout undo deployment/nginx-deployment --to-revision=3
6. 删除
# 普通删除(apiserver等待pod发送确认信息再删除)
kubectl delete deploy/nginx kubectl delete svc/nginx-service
# 强制删除pod(etcd存储信息与apiserver立即删除)
kubectl delete pod nginx-pod --grace-period=0 --force
7. 查看yaml配置参数
# 查看service中的metadata怎么写
kubectl explain service.metadata
特殊案例
# 删除ReplicationController不删除Pod kubectl delete rc rc-name --cascade=false