• Controller之statefulset


    @很多朋友反馈,博文排版不易读,从这篇文章开始慢慢学习一下markdown语法吧,啊哈哈。
    

    1、前面说过了deployment,它是一种无状态的控制器类型,接下来聊聊有状态的控制器类型statefulset,在聊之前,先了解下无状态和有状态的概念。

    (1)无状态特点:
          *一个deployment起的多pod是一模一样的,没有本地的持久化存储,共享相同的网络存储持久化数据。
          *多个pod启动时没有先后顺序。
          *不用考虑pod在那个node上运行。
          *可随意的伸缩。
    (2)有状态特点:
          *无状态的特点,有状态的都需要考虑。
          *每个pod都是独立的,特定的启动顺序和唯一性
          *唯一的网络标识符和持久存储
          *启动有序,例如mysql主从,先启动主在启动从。
    

    2、有状态控制器的特点

    -无头service, 意思是yaml文件里的clusterIP:none 这个值为空
    -kind类型不同
    -每个pod都有唯一的域名标识和有序的主机名
    

    3、示例通过statefulset部署一个有状态的应用。

    $vim statefulset.yaml
    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      ports:
      - port: 80
        name: web
        clusterIP: None
      selector:
        app: nginx
    
    ---
    
    apiVersion: apps/v1beta1
    kind: StatefulSet
    metadata:
      name: nginx-statefulset
      namespace: default
    spec:
      serviceName: nginx
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:latest
            ports:
            - containerPort: 80
    
    这里看到创建以后,svc的cluster-ip是none,配置文件里定义的pod是3个,现在只能看见一个。
    

    这里看见完整运行后,三个pod都正常running了,说明pod启动时有先后顺序的,有0-1-2这样的标识
    

    statefulset和deployment的区别:statefulset的pod都有唯一的域名标识,域名生成规则如下:
          主机名.services名称.名称空间.svc.cluster.local 
    示例:nginx-statefulset-0 这个pod的域名如下:
          nginx-statefulset-0.nginx.default.svc.cluster.local
    

    kubenetes官网:https://kubernetes.io/zh/docs/concepts/workloads/controllers/statefulset/
    kubenetes社区:https://www.kubernetes.org.cn/statefulset

  • 相关阅读:
    为什么非全站升级HTTPS不可?
    使用JSON实现分页
    Git常用命令
    chrome浏览器tab页内存占用变大,网站变慢为哪般?
    我们前端跟后端是怎么合作的
    关于响应式布局
    AngularJS(1)
    关于php语言的使用!
    你必须收藏的Github技巧
    CSS3 动画
  • 原文地址:https://www.cnblogs.com/you-xiaoqing/p/14378461.html
Copyright © 2020-2023  润新知