美文网首页
StatefulSet简单使用

StatefulSet简单使用

作者: 哦呵呵_3579 | 来源:发表于2019-10-08 19:47 被阅读0次

    在k8s中,StatefulSet用来解决有状态服务的问题,当一些有状态服务需要相互访问的时候就需要用到Headless Service来进行代理。

    apiVersion: v1
    kind: Service
    metadata:  
        name: consul
        namespace: consul
        labels:
          name: consul
    spec:  
        type: ClusterIP  
        clusterIP: None
        ports:    
        - name: http      
          port: 8500      
          targetPort: 8500    
        selector:    
            app: consul
    ---
    apiVersion: apps/v1beta1 
    kind: StatefulSet
    metadata:
      namespace: consul
      name: consul
    spec:
      serviceName: consul
      replicas: 3
      template: 
        metadata:
          labels:
            app: consul
    ....
    

    其中Service的spec.selector选中对应需要代理的StatefulSet,StatefulSet中spec.serviceName使用的是Service的metadata.name,当启动之后可以通过一下规则来实现pod之间的互相访问,statefulSetName-{0..N-1}.serviceName.namespace.svc.cluster.local,其中serviceName为spec.serviceName,并且需要Service和StatefulSet必须在同一个namespace下。

    相关文章

      网友评论

          本文标题:StatefulSet简单使用

          本文链接:https://www.haomeiwen.com/subject/miripctx.html