首页 > Web开发 > 详细

kubernetes 学习笔记5

时间:2017-03-01 19:46:00      阅读:323      评论:0      收藏:0      [点我收藏+]

kubernetes 自我恢复

重启失败的container,当node不可用时,替换和重新调度container,杀死不能对用户自定义的健康检查做出repond的containr,直到这些container可以提供服务才advertise它们
 
rc是确保集群中的pod是可用的,当产生很多pod的时候,需要杀死一些,到数量变少的时候,需要重新产生一些。k8s实现了用户应用集群的高可用性,并且大大减少了系统管理员在传统it环境需要手工运维工作(如主机监控脚本、应用监控脚本、故障恢复脚本),声明某种pod的副本数量在任意时刻都符合某个期望值。
1.pod期望的f副本数(replicas)
2.用于筛选目标pod的label selector
3.当pod的副本数量小于预期数量的时候,用于创建新的新的pod的pod模版
 
apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    app: nginx
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
$ kubectl create -f ./replication.yaml
replicationcontrollers/nginx
$ kubectl describe replicationcontrollers/nginx
Name:           nginx
Namespace:      default
Image(s):       nginx
Selector:       app=nginx
Labels:         app=nginx
Replicas:       3 current / 3 desired
Pods Status:    0 Running / 3 Waiting / 0 Succeeded / 0 Failed
Events:
  FirstSeen                             LastSeen                        Count   From
SubobjectPath   Reason                  Message
  Thu, 24 Sep 2015 10:38:20 -0700       Thu, 24 Sep 2015 10:38:20 -0700 1
{replication-controller }                       SuccessfulCreate        Created pod: nginx-qrm3m
  Thu, 24 Sep 2015 10:38:20 -0700       Thu, 24 Sep 2015 10:38:20 -0700 1
{replication-controller }                       SuccessfulCreate        Created pod: nginx-3ntk0
  Thu, 24 Sep 2015 10:38:20 -0700       Thu, 24 Sep 2015 10:38:20 -0700 1
{replication-controller }                       SuccessfulCreate        Created pod: nginx-4ok8v
spec:定义pod模版
labels:标签
pod selector:监控相应标签的pod
replicas:模版数
 
运行时,可以修改rc的副本数量,来实现pod的动态缩放(scaling),可以通过命令kubectl scale一件完成
 
删除rc并不会影响rc已经创建好的pod。为了删除所有的pod,可以设置replicas为0,然后更新rc。kubectl 可以通过stop和delete命令来一次性删除
 
应用升级时候,通过build一个新的docker镜像,并用新的镜像版本来替代旧的版本来达到目的。滚动升级时候(rolling update),采用平滑形式,停止一个旧镜像,升级一个新镜像
 
Rc的特性和应用
1.大多数情况下,我们通过定义一个rc实现pod的创建过程和副本数量的自动控制
2.rc包括完整的pod定义的模版
3.rc通过label selector 机制实现对pod副本的自动控制
4.通过改变rc的pod副本数量,可以实现pod的扩容和缩功能
5.通过改变rc的pod模版中的镜像版本,可以实现pod的滚动升级功能 

kubernetes 学习笔记5

原文:http://www.cnblogs.com/leidaxia/p/6485631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!