2. Gestión declarativa de recursos
2.1 Tres métodos para administrar los recursos básicos de K8:
- Método de gestión declarativa: se basa principalmente en herramientas CLI de línea de comandos para la gestión
- Método de gestión declarativa: se basa principalmente en una lista de asignación de recursos unificada (manifiesto) para la gestión
- Método de gestión de GUI: se basa principalmente en la interfaz de operación gráfica (interfaz web) para la gestión
2.2 Métodos de gestión declarativa de recursos
- La única entrada para que el clúster de kubernetes administre los recursos del clúster es llamar a la interfaz de apiserver a través del método correspondiente
-
kubectl es la herramienta oficial de línea de comandos CLI, que se utiliza para que apiserver se comunique, organice y convierta los comandos ingresados por los usuarios en la línea de comandos en información que apiserver pueda reconocer, y luego realizar una forma efectiva de administrar varios recursos de K8S
- lista de comandos de kubectl
- kubectl --ayuda
- http://docs.kubernetes.org.cn
2.3 Operaciones de espacio de nombres
2.3.1 Ver espacio de nombres
kubectl get namespaces
kubectl get ns # 简写
2.3.2 Ver recursos en el espacio de nombres
kubectl get all # 查看名称空间内的资源,默认为default名称空间
kubectl get all -n default # 查看default名称空间内的资源
2.3.3 Crear espacio de nombres
kubectl create namespace app
2.3.4 Eliminar espacio de nombres
kubectl delete ns app
2.4 operación de despliegue
2.4.1 Crear implementación
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 Ver implementación
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 Eliminar implementación
kubectl delete deploy ningx-test -n kube-public
2.5 operación de nodo
2.5.1 Ver nodo
kubectl get nodes
2.5.2 Cambiar etiqueta a nodo
kubectl label node hdss7-22.host.com node-role.kubernetes.io/master=
2.5.3 Ver tarjetas de red del nodo del clúster
ifconfig cni |head -2
2.6 Operación de pod
2.6.2 Entrar en pod
kubectl exec -ti nginx-dp-7f74c75ff9-9dpr8 /bin/bash -n kube-public
2.6.2 Eliminar pod
kubectl delete pod my-nginx-cjql6
2.6.3 Ver 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 funcionamiento del svc
kubectl get svc -o wide -n kube-public # 查看svc集群IP
kubectl describe svc nginx-dp -n kube-public # 查看详细信息
2.8 Ver documento de ayuda
kubectl explain namespace
kubectl explain service.kind
kubectl explain service.metadata
kubectl explain pod.spec.containers