kubernetes陈述式常用命令

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
原文地址:https://www.cnblogs.com/cpw6/p/12527896.html