飞道的博客

【云原生之K8S】K8S管理工具kubectl 详解

338人阅读  评论(0)

目录

一、陈述式管理

1. 陈述式资源管理方法

1.2 、K8S相关信息查看

查看版本信息

查看节点信息

查看资源对象简写

查看集群信息

配置kubectl自动补全

查看日志

基本信息查看

查看master节点状态

查看命名空间

1.3 命名空间操作

1.3.2 创建命名空间

1.3.3 删除命名空间

1.4 deployment/pod操作

1.4.1 在命名空间kube-public创建副本控制器(deployment)来启动pod(nginx-test)

1.4.2 描述某个资源的详细信息

1.4.3 查看命名空间kube-public中pod信息

1.4.4 登录容器

1.4.5 删除(重启)pod资源

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

1.4.7 扩容、

1.4.8 缩容

二、声明式管理

1、声明式管理方法

2、查看资源配置清单

3、解释资源配置清单


一、陈述式管理

1. 陈述式资源管理方法

  • kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
  • kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
  • kubectl 的命令大全
    kubectl --help
    k8s官方中文文档:Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区
  • 对资源的增、删、查操作比较容易,但对改的操作就不容易了

1.2 、K8S相关信息查看

查看版本信息

kubectl version

查看节点信息

kubectl get node

  
  1. [root @master ~]# kubectl get nodes
  2. NAME STATUS ROLES AGE VERSION
  3. master Ready master 20h v1 .15 .1
  4. node01 Ready < none > 20h v1 .15 .1
  5. node02 Ready < none > 20h v1 .15 .1

查看资源对象简写

查看集群信息

kubectl cluster-info

配置kubectl自动补全

source <(kubectl completion bash)

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

一般用的比较少

查看日志

journalctl -u kubelet -f

基本信息查看

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

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

resource可以是具体资源名称,如“pod nhinx-xxx”;也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅显示包含app标签,并不完整)

  1. -all-namespace 或者-A:标识显示所有命令空间
  2. -show-labels: 显示所有标签
  3. -l app:仅显示标签为app的资源
  4. -l app=nginx:仅显示包含app标签,且值为nginx的资源。

查看master节点状态


  
  1. kubectl get componentstatuses
  2. #cpmponentstatuses可以缩写成cs
  3. kubectl get cs

查看命名空间

1.3 命名空间操作

1.3.1 查看default命名空间的所以资源

kubectl get all [-n default]

  由于deafult为缺省空间,当不指定命名空间时默认查看default命名空间

1.3.2 创建命名空间

kubectl create ns cxk

1.3.3 删除命名空间

kubectl delete  ns cxk

1.4 deployment/pod操作

1.4.1 在命名空间kube-public创建副本控制器(deployment)来启动pod(nginx-test)

kubectl create deployment nginx-test --image=nginx -n cxk

1.4.2 描述某个资源的详细信息

kubectl describe deployment nginx-test -n cxk

1.4.3 查看命名空间kube-public中pod信息

1.4.4 登录容器

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

kubectl exec  -it nginx-test-795d659f45-6528h bash -n cxk

1.4.5 删除(重启)pod资源

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

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

kubectl delete pod [] -n [] --force --grace-period=0

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

1.4.7 扩容、

kubectl scale deployment nginx-test --replicas=3 -n cxk

1.4.8 缩容

kubectl scale deployment nginx-test --replicas=2 -n cxk

二、声明式管理

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


转载:https://blog.csdn.net/weixin_71429839/article/details/127699679
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场