Kubectl

本文详述了如何使用kubectl工具管理Kubernetes集群,包括查看版本、资源对象、集群信息,配置自动补全,节点日志查看,K8s组件日志,以及资源的创建、查看、更新、回滚和删除等操作。此外,还涵盖了命名空间、扩缩容、回滚、金丝雀发布和声明式管理方法等关键概念。
摘要由CSDN通过智能技术生成

目录

一、资源管理

1.kubernetes集群管理

2.kubectl

3.kubectl 的命令

(1)查看版本信息

(2)查看资源对象简写信息

(3)查看集群信息

(4)配置kubectl自动补全

(5)node节点查看日志

(6)K8s核心组件日志

二、基本信息查看

 1.查看master节点状态

2.查看命令空间

3.查看default命名空间的所有资源

4.创建命名空间app

5.删除命名空间app

6.描述某个资源的详细信息

7.查看命名空间kube-public 中的pod 信息

8.扩缩容

9.删除副本控制器

10.定义自动扩容、缩容规则

三、项目的生命周期

1.创建kubectl create命令

2.发布kubectl expose命令

3.查看pod网络状态详细信息和service暴露的端口

4.查看关联后端的节点

5.查看service的描述信息

6.在节点上操作,查看负载均衡端口

(1)node01

(2)node02 

(3)查看访问日志

四、更新kubectl set

1.更改现有应用资源一些信息

2.获取修改模板

3.查看当前nginx 的版本号

4.将nginx版本更新为1.21版本

5.更新好后的Pod的ip会改变

6.再看nqinx的版本号

五、回滚kubectl rollout

1.对资源进行回滚管理

2.查看历史版本

3.执行回滚到上一个版本

4.执行回滚到指定版本

5.检查回滚状态

六、删除kubectl delete

1.删除副本控制器

2.删除service

3.金丝雀发布(Canary Release)

(1)更新deployment的版本,并配置暂停deployment

(2)监控更新的过程

(3)确保更新的pod没问题了, 继续更新

(4)查看最后的更新情况

七、声明式管理方法

1.查看资源配置清单

2.解释资源配置清单

3.修改资源配置清单并应用

4.删除资源配置清单


一、资源管理

1.kubernetes集群管理

集群资源的唯一入口是通过相应的方法调用apiserver 的接口

2.kubectl

       是官方的CLT命令行工具,用于与 apiserver进行通信,将用户在命令行输入的命令,组织并转化为 apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径。

3.kubectl 的命令

kubectl --help

k8s中文文档:http://docs.kubernetes.org.cn/683.html

(1)查看版本信息

kubectl version

(2)查看资源对象简写信息

kubectl api-resources

(3)查看集群信息

kubectl cluster-info

(4)配置kubectl自动补全

source<(kubectl completion bash)

(5)node节点查看日志

journalctl -u kubelet -f

(6)K8s核心组件日志

kubeadm部署的 kubectl logs -t pod组件名 -n kube-system /journalctl -u kubelet -t    指向对应服务

二进制部署的journalctl -u kubelet -f                                                                                    对应节点

二、基本信息查看

kubectl get <resource>[-o wideljson|yaml] [-n namespace]

获取资源的相关信息,-n指定命令空间,-o指定输出格式

resource可以是具体资源名称,如pod nginx-xxx:也可以是资源类型,如pod;或者all(仅展示几种核心资源,并不完整)

--all-namespaces或-A:表示显示所有命令空间,

--show-labels :显示所有标签

-l app :仅显示标签为app的资源

-l app=nginx :仅显示包含app标签,且值为nginx的资源

 

 1.查看master节点状态

kubectl get componentatatuses
kubectl get cs

2.查看命令空间

kubectl get namespace
kubectl get ns

命令空间的作用:用于允许不同命令空间的相同类型的资源重名的

3.查看default命名空间的所有资源

kubectl get all [-n default] [-A] / [--all-namespaces]

4.创建命名空间app

kubectl create ns app
kubectl get ns

 

5.删除命名空间app

kubectl delete namespace app
kubectl get ns

在命名空间kube-public创建无状态控制器( deployment)来启动Pod (nginx-ls)

kubectl create deployment nginx-ls --image=nginx -n kube-public

6.描述某个资源的详细信息

kubectl describe deployment nginx-ls -n kube-public
kubectl describe pod nginx-ls-d47f99cb6-hv6gz -n kube-public60

7.查看命名空间kube-public 中的pod 信息

kubectl get pods -n kube-public

kubectl exec可以跨主机登录容器,docker exec只能在容器所在主机上登录

kubectl exec -it nginx-ls-7b74f4674f-9mh2b bash -n kube-public 

 删除(重启) pod资源,由于存在deployment/ rc之类的副本控制器,删除pod也会重新拉起来

kubectl delete pod nginx-ls-7b74f4674f-9mh2b -n kube-public

 若pod无法删除,总是处于terminate状态,则要强行删除pod

kubectl delete pod. <pod-name>. -n <namespace> --force --grace-period=0

qrace-period表示过渡 存活期,默认30s,在删除pod之前允许POD慢慢终止其上的容器进程,从而优雅退出,0表示立即终止pod 

 

 

 

 

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值