目录
一.陈述式资源管理
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 查看名称空间内的资源
kubectl get all # 查看名称空间内的资源,默认为default名称空间
kubectl get all -n default # 查看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 ningx-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-publice # 查看详细信息
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 查看容器名 # 查看详细信息
kubectl get pod 查看容器名 -o yaml # 以yaml形式查看
kubectl logs -f 容器名 # 查看容器日志
kubectl get pod -l app=my-nginx2 -n kube-public # 查看哪些pod在使用此标签
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