如何查看k8s底座是containerd还是docker 查看k8s版本_kubernetes

目录

一,陈述时管理

1.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.4.9 删除副本控制器

1.4.10 定义自动扩容,缩容规则

1.5 增加,删除label

1.51,增加label

 1.52,删除label

编辑

 二,声明式管理

1,声明式管理方法

2,查看资源配置清单

 3,解释资源配置清单

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

4.1 离线修改

4.1.1 修改yaml文件


一,陈述时管理

1.1 陈述式资源管理方式

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

1.2 K8S相关信息查看

查看版本信息

kubectl version

如何查看k8s底座是containerd还是docker 查看k8s版本_kubernetes_02

查看节点信息

kubectl get node

查看资源对象简写

如何查看k8s底座是containerd还是docker 查看k8s版本_nginx_03

查看集群信息

kubectl cluster-info

如何查看k8s底座是containerd还是docker 查看k8s版本_kubernetes_04

 配置kubectl自动补全

source <(kubectl completion bash)

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

一般用的比较少

查看日志

journalctl -u kubelet -f

如何查看k8s底座是containerd还是docker 查看k8s版本_命名空间_05

 基本信息查看

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节点状态

kubectl get componentstatuses
 
#cpmponentstatuses可以缩写成cs
kubectl get cs

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_06

 查看命名空间

如何查看k8s底座是containerd还是docker 查看k8s版本_云原生_07

1.3 命名空间操作

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

kubectl get all [-n default]

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

如何查看k8s底座是containerd还是docker 查看k8s版本_命名空间_08

 1.3.2 创建命名空间

kubectl create ns cxk

如何查看k8s底座是containerd还是docker 查看k8s版本_kubernetes_09

1.3.3 删除命名空间

kubectl delete  ns cxk

如何查看k8s底座是containerd还是docker 查看k8s版本_云原生_10

1.4 deployment/pod操作

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

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

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_11

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

kubectl describe deployment nginx-test -n cxk

如何查看k8s底座是containerd还是docker 查看k8s版本_命名空间_12

kubectl describe pod nginx-test -n cxk

如何查看k8s底座是containerd还是docker 查看k8s版本_命名空间_13

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

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_14

 1.4.4 登录容器

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

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

如何查看k8s底座是containerd还是docker 查看k8s版本_nginx_15

 1.4.5 删除(重启)pod资源

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

如何查看k8s底座是containerd还是docker 查看k8s版本_云原生_16

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

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

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

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_17

 1.4.7 扩容、

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

如何查看k8s底座是containerd还是docker 查看k8s版本_云原生_18

 1.4.8 缩容

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

如何查看k8s底座是containerd还是docker 查看k8s版本_命名空间_19

1.4.9 删除副本控制器

kubectl delete deployment nginx-test -n cxk

如何查看k8s底座是containerd还是docker 查看k8s版本_nginx_20

1.4.10 定义自动扩容,缩容规则

使用deployment “foo” 设定,使用默认的自动伸缩策略,指定目标cpu使用率,使其pod数量在2.10之间

kubectl autoscale deployment foo --min=2,--max=10
使用RC'foo' 设定,使其pod的数量介于1-5之间,cpu使用率维持在80%

kubectl autoscale rc foo --max=5 --cpu-rercent=80

 自动扩容,缩容触发条件

定义最大最小pod数量

定义扩容条件:往往和pod使用的基础资源百分比相关,例如使用到cpu资源80%的时候触发扩容

                         80% 不是指node节点的80%,而是指pod内limint上限的80%

1.5 增加,删除label

1.51,增加label

kubectl label deploy nginx-test version=nginx1.14

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_21

 1.52,删除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

如何查看k8s底座是containerd还是docker 查看k8s版本_nginx_22

kubectl get service nginx-service -o yaml

如何查看k8s底座是containerd还是docker 查看k8s版本_docker_23

 3,解释资源配置清单

kubectl explain deployment.metadata

如何查看k8s底座是containerd还是docker 查看k8s版本_云原生_24

kubectl explain service.metadata

如何查看k8s底座是containerd还是docker 查看k8s版本_nginx_25

 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