资源管理方式
-
- 各种方式的优劣
- 命令式对象管理
- 命令式对象管理
- 声明式对象配置
- 命令式对象管理:直接使用命令去操作Kubernetes资源
kubectl run nginx-pod --image=nginx:1.17.1 --port=80
- 命令式对象配置:通过命令配置和配置文件去操作Kubernetes资源
kubectl create/patch -f nginx-pod.yaml
- 声明式对象配置:通过apply命令和配置文件去操作Kubernetes资源(创建和更新)
kubectl apply -f nginx-pod.yaml
各种方式的优劣
命令式对象管理
kubectl命令
kubectl是Kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。Kubectl命令的语法如下:
- command:指定要对资源执行的操作,例如create\get\delete
- type:指定资源类型,比如deployment\pod\service
- name:指定资源的名称,名称大小写敏感
- flags:指定额外的可选参数
# 查看所有pod
kubectl get pod
# 查看某个pod
kubectl get pod pod_name
# 查看某个pod,以yaml格式展示结果
kubectl get pod pod_name -o yaml
# 查看某个pod,展示详细信息
kubectl get pod pod_name -o wide
命令式对象管理
命令式对象配置就是使用命令配合配置文件一起来操作Kubernetes资源。还以上述过程为例。
创建一个nginxpod.yaml
apiVersion: v1
kind: Namespace
metadata:
name: dev
---
apiVersion: v1
kind: Pod
metadata:
name: nginxpod
namespace: dev
spec:
containers:
- name: nginx-containers
image: nginx:1.17.1
kubectl create -f ./nginxpod.yaml
查看下创建的名称空间是否存在
kubectl get namespace
查看该名称空间下的pod
kubectl get pod -n dev
删除
kubectl delete -f ./nginxpod.yaml
声明式对象配置
声明式对象配置跟命令式对象配置很相似,但是它只有一个命令apply
# 首先执行一次kubectl apply -f yaml文件,发现创建了资源
kubectl apply -f nginxpod.yaml
# 再次执行一次kubectl apply -f yaml文件,发现资源没有变动
学习资料 黑马k8s https://www.bilibili.com/video/BV1Qv41167ck?p=19&share_source=copy_web