【云原生之k8s】K8s 管理工具 kubectl 详解(一)


在这里插入图片描述

一、陈述式管理

1、陈述式资源管理方法

  1. kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
  2. kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
  3. kubectl 的命令大全
    kubectl --help
  4. k8s官方中文文档:http://docs.kubernetes.org.cn/683.html
  5. 对资源的增、删、查操作比较容易,但对改的操作就不容易了

2、k8s相关信息查看

2.1 查看版本信息

kubectl version
在这里插入图片描述

2.2 查看节点信息

kubectl get nodes
在这里插入图片描述

2.3 查看资源对象简写

kubectl api-resources
在这里插入图片描述

2.4 查看集群信息

kubectl cluster-info
在这里插入图片描述

2.5 配置kubectl自动补全

source <(kubectl completion bash)

可通过TAB键实现命令补全,建议将其写入 /etc/profile

2.6 查看日志

journalctl -u kubelet -f

在这里插入图片描述

2.7 基本信息查看

kubectl get [-o wide|json|yaml] [-n namespace]

获取资源的相关信息,-n指定命名空间,-o指定输出格式
resource可以是具体资源名称,如"pod nhinx-xxx";也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅展示几种核心资源,并不完整)

  1. –all-namespaces或-A:表示显示所有命名空间
  2. –show-labels:显示所有标签
  3. -l app:仅显示标签为app的资源
  4. -l app=nginx:仅显示包含app标签,且值为nginx的资源
2.7.1 查看master节点状态
kubectl get componentstatuses

#componentstatues可以缩写成cs
kubectl get cs

在这里插入图片描述

2.7.2 查看命名空间
kubectl get namespace

#namespace可以缩写成ns
kubectl get ns

在这里插入图片描述

2.8 命名空间操作

2.8.1 查看default命名空间的所有资源
kubectl get all [-n default]

由于deafult为缺省空间,当不指定命名空间时默认查看default命名空间
在这里插入图片描述

2.8.2 创建命名空间
kubectl create ns lcdb

在这里插入图片描述

2.8.3 删除命名空间
kubectl delete ns lcdb

在这里插入图片描述

2.9 deployment/pod操作

2.9.1 在命名空间kube-public创建副本控制器(deployment)来启动Pod(nginx-test)
kubectl create deployment nginx-test --image=nginx -n kube-public

在这里插入图片描述

2.9.2 描述某个资源的详细信息
kubectl describe deployment nginx-test -n kube-public

在这里插入图片描述

kubectl describe pod nginx-test -n kube-public

在这里插入图片描述

2.9.3 查看命名空间kube-public中pod信息
kubectl get pods -n kube-public

在这里插入图片描述

2.9.4 登录容器

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

kubectl exec -it nginx-test-795d659f45-wl9b7 bash -n kube-public

在这里插入图片描述

2.9.5 删除(重启)pod资源

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

kubectl delete pod nginx-test-795d659f45-wl9b7 -n kube-public
kubectl get pod -n kube-public

在这里插入图片描述

2.9.6 若无法删除,总是处于terminate状态,则要强行删除pod
kubectl delete pod [] -n [] --force --grace-period=0

grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod
在这里插入图片描述

2.9.7 扩缩容
2.9.7.1 扩容
kubectl scale deployment nginx-test --replicas=3 -n kube-public

在这里插入图片描述

2.9.7.2 缩容
kubectl scale deployment nginx-test --replicas=1 -n kube-public

在这里插入图片描述

2.9.8 删除副本控制器
kubectl delete deployment nginx-test -n kube-public

在这里插入图片描述

2.10 增加/删除label

2.10.1 增加label
kubectl label deploy nginx-test version=nginx1.14

在这里插入图片描述

2.10.2 删除label
kubectl label deploy nginx-test version-

在这里插入图片描述

二、声明式管理

1. 声明式管理方法

  1. 适合于对资源的修改操作
  2. 声明式资源管理方法依赖于资源配置清明文件对资源进行管理
  3. 资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
  4. 对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里
  5. 语法格式:kubectl create/apply/delete -f -o yaml

2、查看资源配置清单

kubectl get deploy/nginx-test -o yaml

在这里插入图片描述

kubectl get service nginx-service -o yaml

在这里插入图片描述

3. 解释资源配置清单

kubectl explain deployment.metadata

在这里插入图片描述

kubectl explain service.metadata

在这里插入图片描述

4、修改资源配置清单并应用

4.1 离线修改

4.1.1 修改yaml文件

修改yaml文件:并用kubectl apply -f xxxx.yaml文件使之生效
注意:当apply不生效时,先使用delete清除资源,再apply创建资源

kubectl get service nginx-service -o yaml > nginx-svc.yaml

在这里插入图片描述

4.1.2 删除资源

kubectl delete -f nginx-svc.yaml

在这里插入图片描述

4.1.3 新建资源
kubectl apply -f nginx-svc.yaml

在这里插入图片描述

4.1.4 查看service资源
kubectl get svc

在这里插入图片描述

4.2 在线修改

直接使用kubectl edit service nginx-service在线编辑配置资源清单并保存退出即时生效(如port: 888)
PS:此修改方式不会对yaml文件内容修改

kubectl edit service nginx-service

在这里插入图片描述
查看service资源

kubectl get svc

在这里插入图片描述

5、删除资源配置清单

5.1 陈述式删除

kubectl delete service nginx-service

在这里插入图片描述

5.2 声明式删除

kubectl delete -f nginx-svc.yaml

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雪一更ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值