当前位置: 首页 > news >正文

用vs做网站后台深圳网络营销渠道

用vs做网站后台,深圳网络营销渠道,国外优秀网站设计欣赏,玉田建设局网站当谈到 Kubernetes 集群中的应用程序部署和管理时,Deployment、ReplicaSet 和 Pod 是三个重要的概念。它们之间存在一定的关系和层次结构。下面是对 Deployment、ReplicaSet 和 Pod 的详细解释以及它们之间的关系。 Deployment(部署) Deploy…

当谈到 Kubernetes 集群中的应用程序部署和管理时,Deployment、ReplicaSet 和 Pod 是三个重要的概念。它们之间存在一定的关系和层次结构。下面是对 Deployment、ReplicaSet 和 Pod 的详细解释以及它们之间的关系。




Deployment(部署)

Deployment(部署)是 Kubernetes 中用于管理应用程序部署的资源对象。它定义了一组 Pod 和关于如何更新这些 Pod 的规范。Deployment 提供了声明式的方式来创建和更新应用程序,以便实现高可用性和故障恢复。

Deployment 的主要目标是确保指定数量的 Pod 副本处于运行状态,并且可以根据需要自动扩展或缩减副本数量。它还提供了滚动更新的功能,允许在不中断应用程序服务的情况下逐步更新应用程序版本。

一个 Deployment 资源通常与一个或多个 ReplicaSet 资源关联。
但是为了方便管理, 我们通常只让1个deployment 对应1个 ReplicaSet!




ReplicaSet(副本集)

ReplicaSet(副本集)是 Kubernetes 中的一个资源对象,用于确保指定数量的 Pod 副本正在运行。ReplicaSet 可以看作是 Deployment 的实现机制之一,它负责创建和维护一组 Pod 副本。

ReplicaSet 通过标签选择器来选择要管理的 Pod。它会监控 Pod 的运行状态,并根据需要创建新的 Pod 副本或删除不需要的副本,以确保所需的副本数量保持稳定。如果 Pod 发生故障或被删除,ReplicaSet 会自动创建新的 Pod 来替代它们。

ReplicaSet 具有一个模板,定义了所管理的 Pod 的规范。当需要创建新的 Pod 时,ReplicaSet 使用该模板来生成 Pod 的副本。




Pod(容器组)

Pod(容器组)是 Kubernetes 中最小的可部署和管理的单元。它是一个由一个或多个容器组成的组合,共享相同的网络命名空间和存储卷。Pod 是部署在节点上的实际应用程序实例。

Pod 中的容器一般是紧密耦合的,它们共享相同的生命周期和资源。它们可以通过本地主机名(localhost)和端口进行通信。Pod 可以包含多个容器,这些容器可以共享相同的存储和网络资源。

Deployment 和 ReplicaSet 负责创建和管理 Pod,确保所需数量的 Pod 副本正在运行,并根据需要进行扩展或缩减。它们提供了更高级别的抽象和控制,使得应用程序的部署和更新变得更加方便和可靠。

综上所述,Deployment 是对应用程序的高级描述,ReplicaSet 是为 Deployment 提供实现机制的对象,而 Pod 是实际运行的容器组。这三者之间的关系构成了 Kubernetes 中应用程序的部署和管理的层次结构。通过使用 Deployment、ReplicaSet 和 Pod,我们可以轻松地管理应用程序的生命周期、可扩展性和可靠性。




yaml 文件内容

apiVersion: apps/v1
kind: Deployment
metadata:labels: # label of this deploymentapp: bq-api-service # custom definedname: bq-api-service-deploy-samplenamespace: default
spec:replicas: 10            # desired replica count, Please note that the replica Pods in a Deployment are typically distributed across multiple nodes.selector: # label of the Pod that the Deployment is managing,, it's mandatory, without it , we will get this error # error: error validating data: ValidationError(Deployment.spec.selector): missing required field "matchLabels" in io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector ..matchLabels:app: bq-api-servicestrategy: # Strategy of upodatetype: RollingUpdate # RollingUpdate or RecreaterollingUpdate:maxSurge: 25% # The maximum number of Pods that can be created over the desired number of Pods during the updatemaxUnavailable: 25% # The maximum number of Pods that can be unavailable during the updatetemplate: # Pod templatemetadata:labels:app: bq-api-service # label of the Pod that the Deployment is managing. must match the selector, otherwise, will get the error Invalid value: map[string]string{"app":"bq-api-xxx"}: `selector` does not match template `labels`spec:containers:- image: europe-west2-docker.pkg.dev/jason-hsbc/my-docker-repo/bq-api-service:1.1.1 # image of the containerimagePullPolicy: IfNotPresentname: bq-api-service-containerrestartPolicy: Always # Restart policy for all containers within the PodterminationGracePeriodSeconds: 10 # The period of time in seconds given to the Pod to terminate gracefully




配置项解读

apiVersion:指定使用的 Kubernetes API 的版本。在这个示例中,我们使用的是 apps/v1 版本。
kind:指定资源类型,这里是 Deployment。
metadata:元数据信息部分,包含标签、名称和命名空间等信息。labels:Deployment 的标签,用于识别和组织资源。在这个示例中,我们使用了自定义标签 app: bq-api-service。name:Deployment 的名称,这里命名为 bq-api-service-deploy-sample。
namespace:Deployment 所在的命名空间,这里使用默认命名空间 default。
spec:Deployment 的规范部分,定义了 Deployment 的行为和特性。replicas:指定期望的副本数量。在这个示例中,我们设置为 10,表示我们希望有 10 个 Pod 的副本。selector:用于选择所管理的 Pod 的标签选择器,是必需的配置项。在这个示例中,我们使用了标签选择器 app: bq-api-service。strategy:指定 Deployment 的更新策略。type:更新策略的类型,可以是 RollingUpdate(滚动更新)或 Recreate(重新创建)。rollingUpdate:滚动更新的配置项。maxSurge:更新期间可创建的最大 Pod 数量,超过期望数量。在这个示例中,我们设置为 25%,表示最多可以创建超过 25% 的额外 Pod。maxUnavailable:更新期间可不可用的最大 Pod 数量。在这个示例中,我们设置为 25%,表示最多可以有 25% 的 Pod 不可用。template:Pod 的模板部分,定义了创建 Pod 的规范。metadata:Pod 的元数据信息,包括标签等。labels:Pod 的标签,用于识别和组织资源。在这个示例中,我们使用了标签 app: bq-api-service。 注意这里的标签必须与上面selector 的标签匹配, 否则ReplicaSet 会找不到相应的Pod, 这个Deployment yaml执行时也会出错spec:Pod 的规范部分,定义了 Pod 的行为和特性。containers:容器的定义部分。image:容器的镜像。在这个示例中,我们使用了镜像 europe-west2-docker.pkg.dev/jason-hsbc/my-docker-repo/bq-api-service:1.1.1。imagePullPolicy:镜像拉取策略。在这个示例中,我们设置为 IfNotPresent,表示如果本地没有该镜像时才去拉取。name:容器的名称,这里命名为 bq-api-service-container。restartPolicy:所有容器的重启策略。在这个示例中,我们设置为 Always,表示容器始终会被重启。terminationGracePeriodSeconds:Pod 正常终止的时间间隔(秒)。在这个示例中,我们设置为 10,表示在终止 Pod 之前等待 10 秒钟。 通常用于预留时间让preStop hook执行




部署

root@k8s-master:~/k8s-s/deployments# kubectl apply -f bq-api-service-sample.yaml
deployment.apps/bq-api-service-deploy-sample createdroot@k8s-master:~/k8s-s/deployments# kubectl get replicaSet -o wide
NAME                                     DESIRED   CURRENT   READY   AGE   CONTAINERS                 IMAGES                                                                       SELECTOR
bq-api-service-deploy-sample-9f8d9c988   10        10        10      30m   bq-api-service-container   europe-west2-docker.pkg.dev/jason-hsbc/my-docker-repo/bq-api-service:1.1.1   app=bq-api-service,pod-template-hash=9f8d9c988root@k8s-master:~# kubectl get pods -o wide
NAME                                           READY   STATUS    RESTARTS        AGE     IP            NODE        NOMINATED NODE   READINESS GATES
bq-api-demo-2                                  1/1     Running   5 (5h39m ago)   10d     10.244.3.20   k8s-node3   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-25tqr   1/1     Running   0               92s     10.244.1.20   k8s-node1   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-67psf   1/1     Running   0               92s     10.244.3.30   k8s-node3   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-cvm4z   1/1     Running   0               92s     10.244.3.32   k8s-node3   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-f77tx   1/1     Running   0               92s     10.244.1.23   k8s-node1   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-f98s6   1/1     Running   0               92s     10.244.2.82   k8s-node0   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-g6627   1/1     Running   0               92s     10.244.1.22   k8s-node1   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-jlc9w   1/1     Running   0               92s     10.244.3.31   k8s-node3   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-mnqmf   1/1     Running   0               92s     10.244.2.80   k8s-node0   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-pw468   1/1     Running   0               92s     10.244.2.81   k8s-node0   <none>           <none>
bq-api-service-deploy-sample-9f8d9c988-v565f   1/1     Running   0               92s     10.244.1.21   k8s-node1   <none>           <none>
nginx-test-post-start                          1/1     Running   1 (39h ago)     3d15h   10.244.2.70   k8s-node0   <none>           <none>
nginx-test-pre-stop                            1/1     Running   1 (39h ago)     41h     10.244.2.69   k8s-node0   <none>           <none>

可以见到有1个 RS 和 10个POD 被创建出来了, 而且会分配在多个nodes 中

http://www.tj-hxxt.cn/news/126395.html

相关文章:

  • 淄博学校网站建设报价武汉今日头条最新消息
  • 开发网站要注意什么问题培训如何优化网站
  • 模版网站开发关键词有哪些
  • 形象设计师培训学校seo快速排名案例
  • wap手机网站建设制作开发百度推广网站
  • 重庆网站建设服务个人做外贸怎样起步
  • 每日聚划算优惠网站怎么做的搜索引擎优化培训免费咨询
  • wordpress智能济南网络优化网址
  • 互动营销型网站建设百度数据研究中心
  • 婚纱摄影网站制作百度推广开户多少钱
  • 很大气的网站 营销湛江seo
  • 设计公司做网站有用吗如何免费注册网站
  • 银川网站建设哪家好网站seo网络优化
  • 网站建设流程操作说明镇江关键字优化公司
  • 怎么选择合肥网站建设山东seo首页关键词优化
  • 高端品牌型网站建设互联网公司
  • 吉林省建设厅网站市政建设2023今天的新闻联播
  • 做网站的叫什么思耐网络服务商
  • 做网站怎么选空间网络营销的营销方式是什么
  • 邯郸市人社局扬州seo优化
  • 佛山建站怎么做seo二级目录
  • 哪些网站可以做平面设计挣钱学电商哪个培训学校好
  • 企业网站设计费用实训百度搜索引擎的总结
  • 黄山网站建设免费咨询百度搜索优化建议
  • 做绿色软件的网站知乎福州seo按天付费
  • 一般设计网站页面用什么软件获客软件排名前十名
  • 上海建设行政主管部门政务网站短视频代运营费用明细
  • 广州有网站建设学校手机创建网站教程
  • 广州的做淘宝女鞋货源下载数据包的网站网址是多少?东莞网站提升排名
  • 数字营销策划方案seo的搜索排名影响因素主要有