二进制部署K8s集群进阶使用之第2节kubectl-陈述式资源管理

二、陈述式资源管理

2.1 管理K8s核心资源的三种方法:

  • 陈述式管理方法-主要依赖于命令行CLI工具进行管理
  • 声明式管理方法-主要依赖统一资源配置清(manifest)单进行管理
  • GUI式管理方法-主要依赖图形化操作界面(web界面)进行管理

2.2 陈述式资源管理的方法

  • kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver的接口
  • kubectl是官方的CLI命令行工具,用于apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理K8S各种资源的一种有效途径

  • kubectl的命令大全

2.3 名称空间操作

2.3.1 查看名称空间
kubectl get namespaces
kubectl get ns # 简写
2.3.2 查看名称空间内的资源
kubectl get all # 查看名称空间内的资源,默认为default名称空间
kubectl get all -n default # 查看default名称空间内的资源
2.3.3 创建名称空间
kubectl create namespace app
2.3.4 删除名称空间
kubectl delete ns app

2.4 deployment操作

2.4.1 创建deployment
kubectl create deployment ningx-test --image=harbor.od.com/public/nginx:1.7.9 -n kube-public  # 创建一个控制器
kubectl expose deployment nginx-dp --port=80 -nkube-public # 暴露80端口
2.4.2 查看deployment
kubectl get deploy -o wide -n kube-public
kubectl descibe deployment nginx-test -n kube-publice # 查看详细信息
kubectl scale deployment nginx-dp --replicas=4 -n kube-public # 扩容4个pod
2.4.3 删除deployment
kubectl delete deploy ningx-test -n kube-public     

2.5 node操作

2.5.1 查看node
kubectl get nodes
2.5.2 给node改标签
kubectl label node hdss7-22.host.com node-role.kubernetes.io/master= 

2.5.3 查看集群节点网卡

ifconfig cni |head -2

2.6 pod操作

2.6.2 进入pod
kubectl exec -ti nginx-dp-7f74c75ff9-9dpr8 /bin/bash -n kube-public
2.6.2 删除pod
kubectl delete pod my-nginx-cjql6
2.6.3 查看pod
kubectl get pods -o wide -n kube-public # 查看内网IP
kubectl get node -n kube-public --show-labels # 查看标签 
kubectl describe pod 查看容器名 # 查看容器详细信息
kubectl edit pod 查看容器名 # 查看容器详细信息
kubectl get pod 查看容器名 -o yaml # 查看容器详细信息
kubectl logs 容器名 # 查看容器日志

2.7 svc操作

kubectl get svc -o wide -n kube-public # 查看svc集群IP
kubectl describe svc nginx-dp -n kube-public # 查看详细信息

2.8 查看帮助文档

kubectl explain namespace
kubectl explain service.kind
kubectl explain service.metadata
kubectl explain pod.spec.containers

猜你喜欢

转载自blog.51cto.com/yht1990/2539864