暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

Kubernetes使用之kubectl命令大纲

kubectl使用大纲整理

开放端口范围30000~32767

一、label 标签

1.1 设置 label

kubectl label node cka01 node=demonode

1.2 查看 label

kubectl get nodes --show-labels

二、Deployment 容器服务

2.1 创建容器服务

kubectl create deployment myapp --image=docker.io/jocatalin/kubernetesbootcamp:v1 --replicas=1 --port=8080

–image指定镜像 --port指定应用对外服务端口

2.2 查看容器服务状态

kubectl get deployment myapp

更详细信息 -o wide
kubectl describe deployment myapp

2.3 删除Deployment

kubectl delete deployment myapp

三、pod

3.1 查看pod

kubectl get pods

更详细信息 -o wide

3.2 查看 Pod 详细信息

kubectl describe pod myapp-7db56d4ff8-p56h2

3.3 查看指定 Namespace 下的 Pod

kubectl get pods -n kube-system

3.4 查看所有 Namespace 下的 Pod

kubectl get pods --all-namespaces
kubectl get pods -A

3.5 查看对应 Service 活跃的后端 Pods

kubectl get ep myapp -o wid

ep是endpoints的缩写
kubectl describe ep myapp

3.6 查看对应 Pod 对象的事件

kubectl describe pod <pod_name> --namespace=<namespace_name>

四、服务发布

4.1 将应⽤暴露到集群外的命令

kubectl expose deployment myapp --type=NodePort --port=8080

4.2 查看 Service

kubectl get svc

-o yaml 根据yaml文件显示
更详细信息 -o wide

kubectl get service
kubectl describe svc myapp

4.3 查看对应 Service 活跃的后端 Pods

kubectl get ep myapp -o wid

ep是endpoints的缩写

kubectl describe ep myapp

4.4 删除service

kubectl delete service myapp

五、扩缩容

5.1 扩容(增加副本数量)

5.1.1 查看当前 Deployment 的副本数量

kubectl get deployment myapp -o wide

5.1.2 副本数扩⼤为 2 个

kubectl scale deployment myapp --replicas=2

5.2 缩容(减少副本数量)

5.2.1 查看当前 Deployment 的副本数量

kubectl get deployment myapp -o wide

5.2.2 副本数减少为 1 个

kubectl scale deployment myapp --replicas=1

六、版本控制

6.1 更新镜像

当前应用image版本为v1升级为v2

kubectl set image deployment myapp kubernetesbootcamp=docker.io/jocatalin/kubernetes-bootcamp:v2 --record

–record参数用来在rollout中添加注释,在回滚时提供说明

6.2查看升级情况

kubectl get pod -w -l app=myapp

不中断服务的滚动更新

6.3 访问验证

curl http://<任意node_ip>:30100

6.4 回退到上⼀个版本

kubectl rollout undo deployment myapp

通过undo回退到上次操作

6.5 回退到指定版本

6.5.1 查看版本历史

kubectl rollout history deployment myapp

6.5.2 指定特定版本回退

kubectl rollout undo deployment myapp --to-revision=5

七、事件与日志

7.1 查看对应 Pod 对象的事件

kubectl describe pod <pod_name> --namespace=<namespace_name>

7.2 查看整个集群的事件

kubectl get events

7.3 查看容器⽇志

kubectl logs -f <pod_name>

类似tail -f方式查看

kubectl logs -f <pod_name> -c <container_name>

pod有多个容器通过-c指定具体容器名

7.4 查看 K8s 组件⽇志

Master的组件都是Static Pod

7.4.1 master组件

kubectl logs kube-apiserver-cka01 -n kube-system
kubectl logs kube-controller-manager-cka01 -n kube-system
kubectl logs kube-scheduler-cka01 -n kube-system
kubectl logs etcd-cka01 -n kube-system

7.4.2 system日志

systemctl status kubelet
journalctl -fu kubelet

7.4.3 proxy日志

kubectl logs kube-proxy-g8gcg -n kube-system

kube-proxy不是Static Pod ,Pod名是随机ID后缀

八、集群操作

8.1 获取到配置里的所有集群

kubectl config get-contexts

8.2 切换到新集群

kubectl config use-context ak8s

最后修改时间:2024-09-13 10:38:02
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论