Deployment 基本概念
-
Deployment 译名为 部署。在k8s中,通过发布 Deployment,可以创建应用程序 (docker image) 的实例 (docker container)
-
这个实例会被包含在称为 Pod 的概念中,Pod 是 k8s 中最小可管理单元。
-
在 k8s 集群中发布 Deployment 后,Deployment 将指示 k8s 如何创建和更新应用程序的实例
-
master 节点将应用程序实例调度到集群中的具体的节点上。
-
-
创建应用程序实例后,Kubernetes Deployment Controller 会持续监控这些实例
-
如果运行实例的 worker 节点关机或被删除,则 Kubernetes Deployment Controller 将在群集中资源最优的另一个 worker 节点上重新创建一个新的实例
-
这提供了一种自我修复机制来解决机器故障或维护问题。
-
部署 nginx Deployment
01 创建文件 nginx-deployment.yaml,内容如下
02 应用 YAML 文件
kubectl 简介
-
kubectl 是 Kubernetes 的命令行工具,人们通常通过它与 Kubernetes 进行交互
-
通过 kubectl 能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。
kubectl apply 简介
-
kubectl apply 这一命令可以通过文件名或控制台输入,对资源进行配置
-
并且 apply 能够对集群资源进行声明式管理:
-
如果资源不存在,apply 将创建它
-
如果它存在,apply 将更改它
-
-
此外,apply 还能够添加 Service 到适用的资源或者通过添加 Pod 自动化弹性伸缩的 Deployment
1 kubectl apply -f nginx-deployment.yaml 2deployment.apps/nginx-deployment created
03查看部署结果
kubectl get 简介
-
kubectl get all 显示了关于运行中的 pod、service、deployment 以及 Replicaset 的关键信息。这是检查事物状态的首选命令
-
你可以将 get 和单个对象一起使用,并添加–watch 标志以实时观察更新。
-
-o wide 代表显示更多信息
查看 Deployment
1[root@k8s-master01 k8s_yamldate]# kubectl get deployments 2NAME READY UP-TO-DATE AVAILABLE AGE 3nginx-deployment 1/1 1 1 5m2s
查看 pod