一.陈述式资源管理

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

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

1.2 陈述式资源管理的方法

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

1.3 名称空间操作

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

1.4 deployment操作

1.4.1 创建deployment
kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public --replicas=3
nginx:1.15-alpine小版本
1.4.2 开放容器端口(创建service)
kubectl expose deployment nginx-db --port=80 -n kube-public
1.4.3 删除deployment
kubectl delete deploy nginx-test -n kube-public	
1.4.4 修改deployment
kubectl edit deploy nginx-test -n kube-public
1.4.5 查看deployment
kubectl get deploy -o wide -n kube-public
# 查看详细信息
kubectl descibe deployment nginx-test -n kube-public	

1.5 node操作

1.5.1 查看node
kubectl get nodes
1.5.2 查看node标签
kubectl get nodes --show-labels
1.5.3 node改标签
kubectl label node hdss7-22.host.com node-role.kubernetes.io/master= 

1.6 pod操作

1.6.1 进入pod
kubectl exec -ti my-nginx-75b466d5f5-k7vhw -n kube-public -- /bin/bash
1.6.2 删除pod
kubectl delete pod my-nginx-cjql6
1.6.3 修改pod
# 查看容器详细信息
kubectl edit pod 查看容器名 
1.6.4 查看pod
kubectl get pods -o wide -n kube-public 
# 查看标签
kubectl get node -n kube-public --show-labels  
# 查看详细信息
kubectl describe pod 查看容器名 
# 以yaml形式查看
kubectl get pod 查看容器名 -o yaml 
# 查看容器日志
kubectl logs -f 容器名 
# 查看哪些pod在使用此标签
kubectl get pod -l app=my-nginx2 -n kube-public 
kubectl get endpoints --show-labels   

1.7 svc操作

1.7.1 创建service
kubectl create service clusterip my-nginx2 --tcp=80 -n kube-public
1.7.2 删service
kubectl delete svc my-nginx5 -n kube-public
1.7.3 改service
kubectl edit svc my-nginx5 -n kube-public
1.7.4 查看service
kubectl get svc my-nginx5 -n kube-public
kubectl get svc my-nginx5 -o yaml -n kube-public
# 查看详细信息
kubectl describe svc nginx-dp -n kube-public 

1.8 查看帮助文档

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

1.9 修改资源配置清单

kubectl edit configmap kube-proxy -n kube-system
posted on 2021-07-22 17:32  jiayou111  阅读(199)  评论(0编辑  收藏  举报