linux cpu占用率如何看
275
2022-10-31
【云原生Kubernetes系列第三篇】K8s 管理工具 kubectl 详解(一)
一、陈述式管理
1、陈述式资源管理方法
kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径kubectl 的命令大全 kubectl --helpk8s官方中文文档:查看版本信息
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(仅展示几种核心资源,并不完整)
–all-namespaces或-A:表示显示所有命名空间–show-labels:显示所有标签-l app:仅显示标签为app的资源-l app=nginx:仅显示包含app标签,且值为nginx的资源
2.7.1 查看master节点状态
kubectl get componentstatuses#componentstatues可以缩写成cskubectl get cs
2.7.2 查看命名空间
kubectl get namespace#namespace可以缩写成nskubectl 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-text --image=nginx -n kube-public
2.9.2 描述某个资源的详细信息
kubectl describe deployment nginx-text -n kube-public
kubectl describe pod nginx-text -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-646658d7cb-6dbdt bash -n kube-public
2.9.5 删除(重启)pod资源
由于存在 deployment/rc 之类的副本控制器,删除 pod 也会重新拉起来
kubectl delete pod nginx-test-646658d7cb-6dbdt -n kube-publickubectl 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-text --replicas=3 -n kube-public
2.9.7.2 缩容
kubectl scale deployment nginx-text --replicas=1 -n kube-public
2.9.8 删除副本控制器
kubectl delete deployment nginx-text -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-
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
kubectl delete -f nginx-svc.yaml
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~