如何读懂 Deployment YAML 文件?— Kubernetes(12)steemCreated with Sketch.

in #kubernetes7 years ago (edited)

既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似。

还是以 nginx-deployment 为例,配置文件如下图所示:

617.png

apiVersion 是当前配置格式的版本。
kind 是要创建的资源类型,这里是 Deployment
metadata 是该资源的元数据,name 是必需的元数据项。
spec 部分是该 Deployment 的规格说明。
replicas 指明副本数量,默认为 1。
template 定义 Pod 的模板,这是配置文件的重要部分。
metadata 定义 Pod 的元数据,至少要定义一个 label。label 的 key 和 value 可以任意指定。
spec 描述 Pod 的规格,此部分定义 Pod 中每一个容器的属性,nameimage 是必需的。

此 nginx.yml 是一个最简单的 Deployment 配置文件,后面我们学习 Kubernetes 各项功能时会逐步丰富这个文件。

执行 kubectl apply -f nginx.yml

618.png

部署成功。同样地,通过 kubectl get 查看 nginx-deployment 的各种资源:

619.png

Deployment、ReplicaSet、Pod 都已经就绪。如果要删除这些资源,执行 kubectl delete deployment nginx-deployment 或者 kubectl delete -f nginx.yml

620.png

下一节讨论 Deployment 的 Scale Up/Down。

Sort:  

如果不默认指定,k8s会去docker 官方hub寻找镜像吗?还是google自己维护了一份镜像库?

镜像由 image 指定,这里 nginx:1.7.9 就是 docker hub 上的image,如果是其他地方的,需要指定,比如 grc.io/xxx/xxx

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 62835.77
ETH 3392.04
USDT 1.00
SBD 2.50