在用戶定義范圍內,如果pod增多,則ReplicationController會終止額外的pod,如果減少,RC會創建新的pod,始終保持在定義范圍。例如,RC會在Pod維護(例如內核升級)后在節點上重新創建新Pod。
ReplicationController會替換由于某些原因而被刪除或終止的pod,例如在節點故障或中斷節點維護(例如內核升級)的情況下。因此,即使應用只需要一個pod,我們也建議使用ReplicationController
RC跨多個Node節點監視多個pod 詳情可參考中文社區:http://docs.kubernetes.org.cn/437.html
apiVersion: v1 # 指定api版本,此值必須在kubectl apiversion中 kind: ReplicationController # 指定創建資源的角色/類型 metadata: # 資源元數據/屬性 name: test-rc # 資源名字。在同一個namespace中必須唯一 labels: # 設定資源標簽 k8s-app: apache software: apache project: test app: test-rc version: v1 annotations: # 自定義注解列表 - name: String # 自定義注解名字 spec: replicas: 2 # 副本數量2 selector: # RC通過spec.selector來篩選要控制的pod software: apache project: test app: test-rc version: v1 name: test-rc template: # 這里pod定義 metadata: labels: # Pod的label,這個label與spec.selector相同 software: apache project: test app: test-rc version: v1 name: test-rc spec: # specification of the resource content restartPolicy: Always # 表明該容器一直運行,退出會自動重建 nodeSelector: # 節點選擇 zone: node1 containers: - name: web04-pod # 容器的名字 image: web:apache # 容器使用的鏡像地址 imagePullPolicy: Never # 容器啟動時檢查鏡像策略,Always每次都檢查,Never從不檢查(不管本地是否有),IfNotPresent本地有就不檢查,如果沒有就拉取 command: ['sh'] # 啟動容器的運行命令,將覆蓋容器中的Entrypoint,對應Dockerfile中的ENTRYPOINT args: ['$(str)'] # 啟動容器的命令參數,對應Dockerfile中的CMD參數 env: # 指定容器中的環境變量 - name: str # 變量名稱 value: '/etc/run.sh' # 變量值 resources: # 資源管理 requests: # 容器運行最低資源需求 cpu: 0.1 # CPU資源(核數),最少值為0.001核(1m) memory: 32Mi # 內存使用量 limits: cpu: 0.5 memory: 32Mi ports: - containerPort: 80 # 容器開放對外端口 name: httpd # 名稱 protocol: TCP livenessProbe: # pod內容器健康檢查的設置 httpGet: # 通過httpget檢查健康200-399之間容器正常 path: / # URI地址 port: 80 #host: 127.0.0.1 # 主機地址 scheme: HTTP initialDelaySeconds: 180 # 表明第一次檢測在容器啟動后多次時間后開始 timeoutSeconds: 5 # 檢測的超時時間 periodSeconds: 15 # 檢查間隔時間 #方法2 #exec: 執行命令的發法進行監測,如果其退出碼不為0,則認為容器正常 #command: #- cat #- /tmp/health #方法3 #tcpSocket: //通過tcpSocket檢查健康 #port: number lifecycle: # 聲明周期管理 postStart: # 容器創建之后,運行之前運行的任務 exec: command: - 'sh' - 'yum upgrade -y' preStop: # 容器關閉之前運行的任務 exec: command: ['service httpd stop'] volumeMounts: # 永久存儲掛載 - name: volume # 掛載設備名字,與volumes[*].name 需要對應 mountPath: /data # 掛載到容器的某個路徑下 readOnly: True volumes: # 定義一組掛載設備 - name: volume # 定義一個掛載設備的名字 #meptyDir:{} hostPath: path:/opt # 掛載設備類型為hostpath,路徑為宿主下的/opt
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128144.html
摘要:前言我們一起回顧上一篇文章平臺的微服務架構和,一共通過構建了三個鏡像數據庫,部署前端頁面的,和接口。最近阿里云產品春節大促銷,我一時沒忍住又買了一臺服務器,打完折扣還是很貴。是一個非常穩定的,可移植的網絡文件系統。 前言 我們一起回顧上一篇文章《Bees平臺的微服務架構(1)docker和docker-compose》,一共通過Dockerfile構建了三個docker鏡像:mysql...
摘要:常見的和等都是屬于某一個的默認是,而等則不屬于任何。其實其的命令和上面都差不多,這里不一一列出了創建查看啟動情況是一個定義了一組的策略的抽象,可以理解為抽象到用戶層的一個宏觀服務。其實這個概念在集群里也有,可以參照理解。 showImg(https://segmentfault.com/img/remote/1460000013229549); 【利用K8S技術棧打造個人私有云系列文...
摘要:常見的和等都是屬于某一個的默認是,而等則不屬于任何。其實其的命令和上面都差不多,這里不一一列出了創建查看啟動情況是一個定義了一組的策略的抽象,可以理解為抽象到用戶層的一個宏觀服務。其實這個概念在集群里也有,可以參照理解。 showImg(https://segmentfault.com/img/remote/1460000013229549); 【利用K8S技術棧打造個人私有云系列文...
閱讀 1208·2023-02-24 11:21
閱讀 1404·2023-02-24 10:55
閱讀 2406·2023-02-24 10:47
閱讀 3099·2023-02-24 10:44
閱讀 885·2023-02-24 10:38
閱讀 609·2022-12-25 19:44
閱讀 751·2022-12-25 19:39
閱讀 865·2022-12-25 19:36