您的位置:首页 > 其它

Kubectl管理工具常用命令

2018-08-30 22:19 274 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25611295/article/details/82228801

删除容器与镜像:
首先:
kubectl get all 查到之前创建的nginx容器和服务名字,然后删掉
kubectl delete deployment.apps/nginx
kubectl delete service/nginx

1、创建

kubectl run nginx --replicas=3 --labels="app=nginx-example" --image=nginx:1.10 --port=80

2、查看

#查看副本
[root@master ~]# kubectl get deploy
NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx     3         3         3            3           18h
#查看容器与标签
[root@master ~]# kubectl get pods --show-labels
NAME                     READY     STATUS    RESTARTS   AGE       LABELS
nginx-5b8c7bbc4c-6zt6w   1/1       Running   0          18h       app=nginx-example,pod-template-hash=1647366707
nginx-5b8c7bbc4c-jmzf9   1/1       Running   0          18h       app=nginx-example,pod-template-hash=1647366707
nginx-5b8c7bbc4c-r7ljf   1/1       Running   0          18h       app=nginx-example,pod-template-hash=1647366707
#根据标签名字查看服务
[root@master ~]# kubectl get pods -l  app=nginx-example
NAME                     READY     STATUS    RESTARTS   AGE
nginx-5b8c7bbc4c-6zt6w   1/1       Running   0          18h
nginx-5b8c7bbc4c-jmzf9   1/1       Running   0          18h
nginx-5b8c7bbc4c-r7ljf   1/1       Running   0          18h
#查看资源的详细信息
[root@master ~]# kubectl get pods -o wide
NAME                     READY     STATUS    RESTARTS   AGE       IP            NODE
nginx-5b8c7bbc4c-6zt6w   1/1       Running   0          18h       172.17.13.2   192.168.1.42
nginx-5b8c7bbc4c-jmzf9   1/1       Running   0          18h       172.17.94.5   192.168.1.40
nginx-5b8c7bbc4c-r7ljf   1/1       Running   0          18h       172.17.94.3   192.168.1.40

--

3、发布

根据kubectl get deploy 找到name 名字
#然后更加name运行,
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
#查看创建的服务:
[root@master ~]# kubectl get svc
NAME            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.10.10.1     <none>        443/TCP        7d
nginx-service   NodePort    10.10.10.107   <none>        88:42784/TCP   24s
现在就可以在节点上面测试了:
curl 10.10.10.107:88   或者页面访问:http://192.168.1.40:42784
具体信息查看:
kubectl describe service nginx-service

4、故障排查

#查服务状态
kubectl describe TYPE NAME_PREFIX
例如:
replicaset.apps/nginx-5b8c7bbc4c
#查服务日志
kubectl logs nginx-xxx
例如:
kubectl logs pod/nginx-5b8c7bbc4c-6zt6w
#进入容器内部查看
kubectl exec –it nginx-xxx bash
例如:
kubectl exec -it nginx-5b8c7bbc4c-jmzf9 bash

5、更新项目

#将nginx版本升级为1.11,--record代表记录
kubectl set image deployment/nginx nginx=nginx:1.11 --record
升级完成检查:
kubectl describe pod nginx-69fcd8b884-blnkg
或者直接编辑文件进行更新:
kubectl edit deployment/nginx
直接更改镜像版本即可:
升级完成检查:
kubectl describe pod nginx-86b8d5d87c-4fwvr

检查更新状态
[root@master ~]# kubectl rollout status deployment/nginx
deployment "nginx" successfully rolled out

检查更新版本:
[root@master ~]# kubectl rollout history deployment/nginx
deployments "nginx"
REVISION  CHANGE-CAUSE
2         <none>
3         <none>
4         kubectl set image deployment/nginx nginx=nginx:1.13 --record=true
检查 版本3 的信息:
[root@master ~]# kubectl rollout history deployment/nginx --revision=3

6、回滚项目

#默认回滚到上个版本
kubectl rollout undo deployment/nginx
#回滚到指定版本
kubectl rollout undo deployment/nginx --to-revision=2
#查看回滚版本
kubectl describe pod nginx-86b8d5d87c-7c24f

7、扩容项目副本

#将副本数扩容到5个
kubectl scale deploy/nginx --replicas=5
#将副本缩到4个
kubectl scale deploy/nginx --replicas=4
或者:
kubectl scale deployment nginx --replicas=4

8、删除项目

kubectl delete deploy/nginx
kubectl delete service/nginx-service
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: