kubectl管理命令的使用
概述kubectl是k8s集群的客户端,用户通过kubectl连接到集群的apiserver,并将命令传递到master上,然后master再将命令分发到node节点上执行。kubectl由众多的子命令构成。命令举例创建kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:...
概述
kubectl是k8s集群的客户端,用户通过kubectl连接到集群的apiserver,并将命令传递到master上,然后master再将命令分发到node节点上执行。
kubectl由众多的子命令构成。
命令举例
创建
kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80
–replicas:指定副本数
nginx:名称
–labels:标签
–image:使用的镜像(默认从dockerhub拉取)
–port:容器的端口
通过describe指令可以查看到每个pod的在创建中的事件:
kubectl describe po/nginx-75f69c4f46-7qswr
可以看到,第一步调度pod到一个节点,然后挂载一个数据卷,接着下载镜像,创建容器并启动。
在创建的时候指定运行的命令
kubectl run busybox --image=busybox --command -- ping baidu.com
创建命令空间
kubectl create namespace mytest
查看命名空间
kubectl get namespace
更新项目
现在想对线上的容器做一个更新,例如我现在有nginx容器:
我可以通过kubectl edit deploy/nginx
命令来查看构建镜像的yaml文件,假设我现在想更新nginx版本,则可以修改这里然后保存退出:
这样就会应用到所有的pod上去,通过kubectl get all
可以看见,旧版本的nginx正在删除,新版本的nginx正在构建,最后都变成running状态。
查看在集群中运行的插件
kubectl cluster-info
超详细信息可以使用kubectl cluster-info dump
查看pod或deployment的event
在kubectl get all
看到pod或deployment部署失败的时候,可以通过下面的命令指定查看event进行排错:
kubectl describe po/nginx-5fc8fd597f-wv9ff
其中主要关注Event中的内容,当然上边还有一些其他的信息以供参考:
查看pod日志
连接到pod上的容器
查看deploy
kubectl get deploy
查看pod标签
kubectl get pods --show-labels
查看指定标签的pod
kubectl get pods -l run=nginx
查看pod详细信息
kubectl get pods -o wide
发布一个服务
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
这一步说是将服务暴露出去,实际上是在服务前面加一个负载均衡,因为pod可能分布在不同的结点上。
–port:暴露出去的端口
–type=NodePort:使用结点+端口方式访问服务
–target-port:容器的端口
–name:创建service指定的名称
其中88:31442/TCP,88端口通过clusterip访问,31442随机端口通过node结点ip加端口访问。
查看一个服务详细信息
kubectl describe service nginx-service
资源发布管理
查看资源部署状态
kubectl rollout status deployment/nginx
查看发布历史
kubectl rollout history deployment/nginx
kubectl rollout history deployment/nginx --revision=3
pod扩容和缩容
kubectl scale deployment nginx --replicas=10
回滚
kubectl rollout undo deployment/nginx-deployment
默认回滚到上一个版本
kubectl rollout undo deployment/nginx-deployment --to-revision=3
指定回滚的版本
删除
kubectl delete deploy/nginx
kubectl delete svc/nginx-service
更多推荐
所有评论(0)