管理k8s核心资源三板斧
管理k8s核心资源的三种方式:
- 陈述式管理方法:依赖CLI工具kubectl(做了解,命令冗长)
- 声明式管理方法:依赖资源配置mainfest即常所的yaml文件
- GUI:dashboard
陈述式管理kubectl
指定命名空间查看对应资源:
root@master1:~/zabbix-docker# kubectl get all -n default
NAME READY STATUS RESTARTS AGE
pod/my-deployment-5d7b789747-n8xhr 1/1 Running 2 (117m ago) 2d19h
pod/my-deployment-5d7b789747-skj92 1/1 Running 2 (117m ago) 2d19h
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3d20h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/my-deployment 2/2 2 2 2d19h
NAME DESIRED CURRENT READY AGE
replicaset.apps/my-deployment-5d7b789747 2 2 2 2d19h
root@master1:~/zabbix-docker#
不指定名称空间默认default
kubectl创建deploy举例:
root@master1:~/k8s# kubectl create deployment nginx-test --image=nginx:1.7.9 -n kube-public
deployment.apps/nginx-test created
root@master1:~/k8s# kubectl get deploy -n kube-public -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
nginx-test 1/1 1 1 52s nginx nginx:1.7.9 app=nginx-test
root@master1:~/k8s# kubectl describe deployments nginx-test -n kube-public
Name: nginx-test
Namespace: kube-public
CreationTimestamp: Thu, 25 May 2023 10:46:06 +0800
Labels: app=nginx-test #默认添加同名的label
Annotations: deployment.kubernetes.io/revision: 1 # 版本控制
Selector: app=nginx-test
Replicas: 1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType: RollingUpdate #发布策略,扩展知识见下
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max