RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 。即如果有容器异常退出,会自动创建新的Pod来替代;而如果异常多出来的容器也会自动回收

Kubernetes 官方建议使用 RS(ReplicaSet ) 替代 RC (ReplicationController ) 进行部署,RS 跟 RC 没有本质的不同,只是名字不一样,并且 RS 支持集合式的 selector

apiVersion: extensions/v1beta1 
kind: ReplicaSet
metadata:
name: frontend spec:
replicas: 3 selector:
matchLabels:
tier: frontend template:
metadata:
labels:
tier: frontend spec:
containers:
  - name: php-redis
  image: gcr.io/google_samples/gb-frontend:v3 env:
  - name: GET_HOSTS_FROM value: dns
  ports:
  - containerPort: 80

RS 与 Deployment 的关联

在这里插入图片描述

Deployment
Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的
ReplicationController 来方便的管理应用。典型的应用场景包括:
定义Deployment来创建Pod和ReplicaSet 滚动升级和回滚应用
扩容和缩容
暂停和继续Deployment

Ⅰ、部署一个简单的 Nginx 应用



apiVersion: extensions/v1beta1 
kind: Deployment
metadata:
name: nginx-deployment 
spec:
   replicas: 3 template:
   metadata: labels:
   app: nginx spec:
   containers:
      - name: nginx
      image: nginx:1.7.9 ports:
      - containerPort: 80


Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐