
读者朋友们,大家好!在这篇文章中,我们将详细介绍Kubernetes的部署。所以,让我们开始吧!! 🙂
什么是Kubernetes中的工作负载?
Kubernetes为我们提供了工作负载,以保存我们的应用级数据和配置。工作负载是在Kubernetes上通过容器内的Pod运行的应用程序。
有各种内置的k8工作负载资源,如下所示。
- 部署。该资源描述了应用程序的理想状态。部署控制器以可控和可管理的速度将应用程序的当前/实际状态转换为所述的应用程序的预期状态。
- 复制集(ReplicaSet)。它描述并维护稳定的pod集,通过创建当时工作负载的副本来保持容器中的工作负载。
- StatefulSet。它有助于在工作负载上管理有状态的应用程序。它维护相关的Pod,并以某种方式跟踪应用程序的状态。他们甚至可以管理一组Pod的部署和扩展。
- 工作。这些资源定义了一组任务,这些任务一直运行到完成,然后中止进程并停止。
- CronJob。这些资源定义了一组计划在一定时间内执行的工作。
现在,让我们看一下部署资源模板,它将包括为集群中的pod采取行动的工作负载的部署。
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world-app
labels:
app: app
spec:
replicas: 2
selector:
matchLabels:
app: app
template:
metadata:
labels:
app: app
spec:
containers:
- name: hello-world
image: hello-world:1.0
ports:
- containerPort: 80
- .metadata.name文件。它描述了将要创建的部署的名称。
- .spec.replicas文件。它描述了要创建的pod的副本数量。在我们的案例中,我们已经创建了2个副本。
- .spec.selector 字段。这个字段定义了哪些pod需要由部署来管理。在这种情况下,我们将标签 "app "与Pod模板中的标签 "app "相匹配,这就是部署如何决定哪些Pod需要由它来协调的原因。
- .spec.contains字段。这个字段描述了关于容器的信息,如容器名称、镜像名称和containerPort值,它定义了部署的应用程序在容器边界之外可用的端口。
5个与k8部署有关的kubectl命令
- 创建一个部署。
kubectl apply -f deployment.yaml
2.检查上面应用的部署是否存在。
kubectl get deployments
3.获取部署所创建的复制集的列表。
kubectl get rs
4.更新部署中的图像。
kubectl set image deployment/deployment-name new-image-name --record
5.获取部署的细节。
kubectl describe deployments
结论
到此为止,我们已经到了这个话题的终点。如果你遇到任何问题,请随时在下面发表评论。更多与Kubernetes相关的文章,请继续关注我们!
在那之前,祝你学习愉快! 🙂