K8S_01_kubectl 命令行工具使用详解

管理k8s核心资源的三种基本方法:
陈述式管理方法----主要依赖命令行CLI工具进行管理
声明式管理方法----主要依赖统一资源配置清单(manifest)进行管理
GUI式管理方法-----主要依赖图形化操作界面(web页面)进行管理

#####+++++++
陈述式资源 管理方法:
查看名称空间:kubectl get namespace 或者 kubectl get ns





查看名称空间内的资源:kubectl get all -n default



创建名称空间:kubectl create ns app


删除名称空间:kubectl delete ns app


创建deployment [ pod 控制器 ]
kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public



查看deployment kubectl get deploy -n kube-public

kubectl get pods -n kube-public -o wide


详细查看:
kubectl describe deploy nginx-dp -n kube-public




进入pod资源:kubectl exec -it nginx-dp-5dfc689474-9nzf5 /bin/bash -n kube-public

也可以用 docker exec 进入,不过,用docker exec 不能跨主机,需要在那个节点上运行。


删除:kubectl delete pod nginx-dp-5dfc689474-9nzf5 -n kube-public



--force --grace-period=0 ##+++ 强制删除参数

删除deployment
kubectl get deploy -n kube-public


##############++++++++++++++++

管理Service资源:

创建servic

把先前删除的nginx-dp 重新创建出来

kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public



kubectl expose
deployment nginx-dp --port=80 -n kube-public



kubectl get all -n kube-public -o wide



根据查看的结果 ,这个pod在 hdss7-21 (10.4.7.21)上面

我们在10.4.7.21 上面 curl cluster-ip

curl 192.168.220.239



ipvsadm -Ln



######++++++ deployment nginx-dp 扩容:

kubectl scale deployment nginx-dp --replicas=2 -n kube-public



查看SVC:
kubectl get svc -n kube-public -o wide



kubectl describe svc nginx-dp -n kube-public



陈述式资源管理方法小结:
Kubernetes 管理集群资源的唯一入口 是通过相应的方法调用Apiserver 的接口
kubectl 是官方的CLI命令行工具,用于与apiserver进行通信,将用户在命令行输入的命令,组织并转化为apiserver能识别的信息,进而实现管理k8s 各种资源 的一种有效途径。
陈述式资源管理方法可以满足90%以上的资源管理需求,但它的缺点也明显

命令冗长,复杂,难以记忆
特定场景下,无法实现管理需求
对资源的增加、删除、查找 操作比较容易 ,修改就比较痛苦。