zoukankan      html  css  js  c++  java
  • Kubernetes之Replication Controller

    Replication Controller的作用是声明Pod的副本数量在任意时刻都符合某个预期值,所以Replication Controller的定义包括如下几个部分。

    • Pod期待的副本数量(replicas)。
    • 用于筛选目标Pod的Label Selector。
    • 当Pod的副本数量小于预期数量时,用于创建新Pod的Pod模板(template)。

    下面是一个完整的Replication Controller定义的例子,即确保拥有tier=frontend标签的这个Pod(运行Tomcat容器)在整个Kubernetes集群中始终有三个副本:

    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: frontend
    spec:
      replicas: 3
      selector:
        tier: frontend
      template:
        metadata:
          labels:
            app: app-demo
            tier: frontend
        spec:
          containers:
          - name: tomcat-demo
            image: tomcat
            imagePullPolicy: IfNotPresent
            env:
            - name: GET_HOSTS_FROM
              value: dns
            ports:
            - containerPort: 80

    当我们定义了一个Replication Controller并提交到Kubernetes集群中后,Master节点上的Controller Manager组件就得到通知,定期巡检系统中当前存活的目标Pod,并确保目标Pod实例的数量刚好等于此Replication Controller的期望值。如果有过多的Pod副本在运行,系统就会停掉多余的Pod;如果运行的Pod副本少于期望值,即如果某个Pod挂掉,系统就会自动创建新的Pod以保证数量等于期望值。
    通过Replication Controller,Kubernetes实现了用户应用集群的高可用性,并且大大减少了运维人员在传统IT环境中需要完成的许多手工运维工作(如主机监控脚本、应用监控脚本、故障恢复脚本等)。

  • 相关阅读:
    Cookies的实际存储位置
    搭建Git本地服务器
    在Tomcat中部署war
    Server.xml配置解析
    Tomcat配置详解,配置文件server.xml详解
    将centos7打造成桌面系统
    英语词汇大全
    商场/超市常见英语标识
    商务英语词汇大全
    常用繁体字大全
  • 原文地址:https://www.cnblogs.com/peteremperor/p/12533199.html
Copyright © 2011-2022 走看看