命令 vs 配置文件
Kubernetes 支持两种方式创建资源:
1. 用 kubectl 命令直接创建,比如:
kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2
在命令行中通过参数指定资源的属性。
2. 通过配置文件和 kubectl apply
创建,要完成前面同样的工作,可执行命令:
kubectl apply -f nginx.yml
nginx.yml 的内容为:
资源的属性写在配置文件中,文件格式为 YAML。
下面对这两种方式进行比较。
基于命令的方式:
-
简单直观快捷,上手快。
-
适合临时测试或实验。
基于配置文件的方式:
-
配置文件描述了
What
,即应用最终要达到的状态。 -
配置文件提供了创建资源的模板,能够重复部署。
-
可以像管理代码一样管理部署。
-
适合正式的、跨环境的、规模化部署。
-
这种方式要求熟悉配置文件的语法,有一定难度。
后面我们都将采用配置文件的方式,大家需要尽快熟悉和掌握。
kubectl apply
不但能够创建 Kubernetes 资源,也能对资源进行更新,非常方便。不过 Kubernets 还提供了几个类似的命令,例如 kubectl create
、kubectl replace
、kubectl edit
和 kubectl patch
。
为避免造成不必要的困扰,我们会尽量只使用 kubectl apply
,
此命令已经能够应对超过 90% 的场景,事半功倍。
下节我们来分析一个 Deployment 的配置文件。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html