首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯奈特每荚元计

库伯奈特每荚元计
EN

Stack Overflow用户
提问于 2022-08-14 14:24:09
回答 1查看 107关注 0票数 0

我试图用元控制器设置有状态集中的每个Pod服务:https://github.com/metacontroller/metacontroller/tree/master/examples/service-per-pod

我在遵循链接指令,我玩各种组合,但我仍然没有达到所描述的。服务不是与pod一起创建的。

在这个例子中,我试图把每个荚的服务标签:"web“放在荚的名称上。

代码语言:javascript
复制
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx
  annotations:
    service-per-pod-label: "statefulset.kubernetes.io/pod-name"
    service-per-pod-ports: "80:80"
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: nginx
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      terminationGracePeriodSeconds: 1
      containers:
      - name: nginx
        image: gcr.io/google_containers/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web

我的掌门人已经开始工作了

代码语言:javascript
复制
NAME                                   READY   STATUS    RESTARTS   AGE
metacontroller-metacontroller-helm-0   1/1     Running   0          23m

来自metacontroller的日志: kubectl log metacontroller-metacontroller-helm-0

代码语言:javascript
复制
{"level":"info","ts":1660492483.489682,"msg":"Configuration information","discovery-interval":20,"cache-flush-interval":1800,"metrics-address":":9999","client-go-qps":5,"client-go-burst":10,"workers":5,"events-qps":0.0033333333333333335,"events-burst":25,"pprofAddr":"0","leader-election":false,"leader-election-resource-lock":"leases","leader-election-namespace":"","leader-election-id":"metacontroller","version":"4.3.4"}
{"level":"info","ts":1660492483.5292923,"msg":"Communication with K8s API server successful"}
{"level":"info","ts":1660492484.7299764,"msg":"Waited for 1.19273971s due to client-side throttling, not priority and fairness, request: GET:https://10.3.0.1:443/apis/authorization.k8s.io/v1?timeout=32s\n"}
{"level":"info","ts":1660492489.1358352,"logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":9999"}
{"level":"info","ts":1660492489.1373081,"msg":"Starting EventSource","controller":"composite-metacontroller","source":"kind source: *v1alpha1.CompositeController"}
{"level":"info","ts":1660492489.1373482,"msg":"Starting Controller","controller":"composite-metacontroller"}
{"level":"info","ts":1660492489.1376293,"msg":"Starting EventSource","controller":"decorator-metacontroller","source":"kind source: *v1alpha1.DecoratorController"}
{"level":"info","ts":1660492489.1376536,"msg":"Starting Controller","controller":"decorator-metacontroller"}
{"level":"info","ts":1660492489.1371636,"msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:9999"}
{"level":"info","ts":1660492489.2376945,"msg":"Starting workers","controller":"composite-metacontroller","worker count":1}
{"level":"info","ts":1660492489.2379737,"msg":"Starting workers","controller":"decorator-metacontroller","worker count":1}
{"level":"info","ts":1660492494.7370083,"msg":"Waited for 5.587625994s due to client-side throttling, not priority and fairness, request: GET:https://10.3.0.1:443/apis/networking.k8s.io/v1?timeout=32s\n"}
{"level":"info","ts":1660492510.3382494,"msg":"Waited for 1.165526209s due to client-side throttling, not priority and fairness, request: GET:https://10.3.0.1:443/apis/flowcontrol.apiserver.k8s.io/v1beta2?timeout=32s\n"}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-14 15:22:35

正如文档中所解释的,对于Kubernetes 1.9+,您的service-per-pod-label应该有"statefulset.kubernetes.io/pod-name"作为值:

代码语言:javascript
复制
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx
  annotations:
    service-per-pod-label: "statefulset.kubernetes.io/pod-name"
    service-per-pod-ports: "80:80"
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: nginx
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      terminationGracePeriodSeconds: 1
      containers:
      - name: nginx
        image: gcr.io/google_containers/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web

对于早期版本,您应该为pod``添加注释pod-name-label: "pod-name"

代码语言:javascript
复制
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx
  annotations:
    service-per-pod-label: "pod-name"
    service-per-pod-ports: "80:80"
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: nginx
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
      annotations:
        pod-name-label: "pod-name"
    spec:
      terminationGracePeriodSeconds: 1
      containers:
      - name: nginx
        image: gcr.io/google_containers/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: web

在这两种情况下,您应该使用术语pod-name,而不是其他值。他们使用它来知道应该为创建的服务使用的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73352409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档