首页 > Web开发 > 详细

kubernetes命令详情

时间:2019-04-29 16:17:29      阅读:171      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

查看客户端和服务器侧的版本信息
kubectl version
列出当前版本的kubernetes的服务器端所支持的api版本信息
kubectl api-versions
查看帮助,语法格式
kubectl explain rc



创建
kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80
在创建的时候指定运行的命令
kubectl run busybox --image=busybox --command -- ping baidu.com
在pod中运行命令
kubectl exec nginx-6f8cf9fbc4-lvsqj ls
进入pod
kubectl exec nginx-6f8cf9fbc4-lvsqj -it bash
创建命名空间
kubectl create namespace mytest
查看命名空间
kubectl get namespace
查看pod标签
kubectl get pods --show-labels
查看指定标签的pod
kubectl get pods -l run=nginx
查看deploy
kubectl get deploy
查看pod详细信息
kubectl get pods -o wide
查看所有
kubectl get all
查看一个服务详细信息
kubectl describe service nginx-service
kubectl describe node nodehost
kubectl describe deployment myapp
查看endpoint
kubectl get endpoints
升级nginx至1.9.1
kubectl set image deploy nginx nginx=nginx:1.9.1
查看升级状态
kubectl rollout status deployment nginx 
查看升级历史
kubectl rollout history deployment nginx --revision=3
回滚
kubectl rollout undo deployment/nginx-deployment
删除deployment
kubectl delete deployment nginx
查看在集群信息
kubectl cluster-info
超详细集群信息
kubectl cluster-info dump
发布一个服务
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
–port:宿主机暴露出去的端口 
–type=NodePort:使用结点+端口方式访问服务 
–target-port:容器的端口 
–name:创建service指定的名称

deployment扩容缩容
kubectl scale deployment nginx --replicas=3
将get信息到出为yaml格式
kubectl get deploy kube-dns -n kube-system -o yaml > kube-dns.yaml
设置节点为维护模式(即节点不可被调度,但不影响已有pod的运行)
kubectl cordon k8s-slave
kubectl cordon 192.168.1.123 关闭维护模式 kubectl uncordon k8s
-slave 查看日志 mysql-478535978-1dnm2 从容器中复制文件到宿主机 kubectl cp mysql-478535978-1dnm2:/tmp/message.log message.log 编辑 kubectl edit service nginx 替换 kubectl replace -f nginx_forreplace.yaml 使用策略合并补丁并修补资源 kubectl patch node k8s-node-1 -p {"spec":{"unschedulable":true}} # 部分更新节点 更新容器镜像; spec.containers[*].name 是必须的,因为这是合并的关键字 kubectl patch pod valid-pod -p {"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}} 使用具有位置数组的 json 补丁更新容器镜像 kubectl patch pod valid-pod --type=json -p=[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}] 使用具有位置数组的 json 补丁禁用 deployment 的 livenessProbe kubectl patch deployment valid-deployment --type json -p=[{"op": "remove", "path": "/spec/template/spec/containers/0/livenessProbe"}] 使用文件或者标准输入来更改配置信息。 kubectl apply -f nginx/nginx.yaml 自动在某个范围内扩容,跟scale不同的是前者还是需要手动执行,而autoscale则会根据负载进行调解,通过最小值和最大值的指定进行设定 kubectl autoscale deployment nginx --min=2 --max=5 执行drain命令,发现这条命令做了两件事情: 1. 设定此node不可以使用(cordon) 2. evict了其上的两个pod [root@ku8-1 tmp]# kubectl drain 192.168.32.134 node "192.168.32.134" cordoned pod "nginx-2476590065-d6h8f" evicted pod "nginx-2476590065-9lfzh" evicted node "192.168.32.134" drained [root@ku8-1 tmp]# 结果确认 evict的意思有驱逐和回收的意思,让我们来看一下evcit这个动作的结果到底是什么。 结果是134上面已经不再有pod,而在132和133上新生成了两个pod,用以替代在134上被退场的pod,而这个替代的动作应该是replicas的机制保证的。所以drain的结果就是退场pod和设定node不可用(排水),这样的状态则可以进行维护了,执行完后重新uncordon即可。

 

kubernetes命令详情

原文:https://www.cnblogs.com/linyouyi/p/10789331.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!