5个与k8部署有关的kubectl命令

113 阅读2分钟

Kubernetes Deployment

读者朋友们,大家好!在这篇文章中,我们将详细介绍Kubernetes的部署。所以,让我们开始吧!! 🙂


什么是Kubernetes中的工作负载?

Kubernetes为我们提供了工作负载,以保存我们的应用级数据和配置。工作负载是在Kubernetes通过容器内的Pod运行的应用程序。

有各种内置的k8工作负载资源,如下所示。

  1. 部署。该资源描述了应用程序的理想状态。部署控制器以可控和可管理的速度将应用程序的当前/实际状态转换为所述的应用程序的预期状态。
  2. 复制集(ReplicaSet)。它描述并维护稳定的pod集,通过创建当时工作负载的副本来保持容器中的工作负载。
  3. StatefulSet。它有助于在工作负载上管理有状态的应用程序。它维护相关的Pod,并以某种方式跟踪应用程序的状态。他们甚至可以管理一组Pod的部署和扩展。
  4. 工作。这些资源定义了一组任务,这些任务一直运行到完成,然后中止进程并停止。
  5. 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命令

  1. 创建一个部署。
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相关的文章,请继续关注我们!

在那之前,祝你学习愉快! 🙂