K8s的kubectl常用命令

一. 设置kubectl输入命令自动补全

依次执行一下命令:

yum install -y bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

二. 名称简写

po (pod)
ns (命名空间namespace)
instance (实例)
svc (service服务): 定义一个pod的逻辑分组,一种可以访问他们的策略(微服务)。
cm (configMap): 存储全局配置变量的,将分布式系统中不同模块的环境变量统一到一个对象中管理。
ds (deamonSet):在每台计算机节点上运行一个守护进程(如日志采集等),有时pod处于pending可能是因为某个deamonSet没起来。
deploy (deployment)

三. 常用命令

kubectl获取命令

kubectl get node 获取节点信息
kubectl get pods -o wide 获取pod详细信息
kubectl get ns 获取所有namespace
bukectl get deployment 获取deployment信息
kubectl get svc 查看service信息
kubectl describe svc 查看service信息
kubectl get svc -n kube-system 查看service的ip地址
kubectl -n {$namespace} get pods 在指定的namespace下获取资源
kebuctl logs nginx 获取nginx pod的日志信息

kubectl创建pod

kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 --dry-run=true

nginx-deploy 表示deployment的名称
--images 表示镜像的地址
--port 表示pod暴露的端口
--replicas 表示副本的个数
--dry-run 表示测试,不真正执行命令(测试命令是否正确),去掉该参数即真正执行命令

kubectl创建service

kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP --type=ClusterIP

deployment nginx-deploy 表示导出哪个deployment到service
--name 创建service的名称
--port 表示service开放的端口
--target-port 表示pod的远端端口
--protocol 表示传输方式(tcp/udp)
--type 表示该service展现的范围(ClusterIP表示在集群内部使用)

kubectl创建交互式pod

kubectl run client --image=busybox --restart=Never --replicas=1 -it

创建一个交互式dns服务器的pod,当退出时该pod删除(--restart=Never)

kubectl升级pod

kubectl set image deployment nginx-deploy nginx-deploy=nginx:20190424

升级deployment为nginx-deploy的pod, 所使用的的镜像是nginx:20190424

kubectl rollout status deployment nginx-deploy

显示deployment为nginx-deploy的跟新过程.属于轮询更新,一个个更新的

kubectl rollout undo deployment nginx-deploy

如不指明nginx-deploy=nginx:20190424,那么就是回滚到上一个版本

kubectl修改配置

kubectl edit svc nginx

修改service的nginx的type类型为NodePort
K8s的kubectl常用命令

kubectl针对资源清单的简单命令

kubectl create -f pod-demo.yaml 创建一个pod-demo的资源清单
bukectl descride pod pod-demo 查看pod-demo创建详情过程
kubectl logs pod-demo nginx-deploy 查看pod-demo的pod中的nginx-deploy容器日志
kubectl exec -it pod-demo -c nginx-deploy --/bin/bash 交互式进入nginx-deploy容器进行操作
kubectl delete pod pod-demo 删除pod-demo的pod
kubectl delete -f pod-demo.yaml 删除pod-demo的pod

上一篇:【优先队列】-HDU4546比赛难度


下一篇:apicloud模块开发知识点