Проблема доступа к Развертыванию с сервисом - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь запустить Zipkin на кластере Kubernetes. Это мой файл развертывания:

apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: default
  labels:
    app: zipkin
spec:
  type: NodePort
  selector:
    app: zipkin
  ports:
  - name: http
    port: 9411
    protocol: "TCP"

---
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    fabric8.io/git-commit: "78bd65851c7d9e22652957107fc339a55f80b606"
    fabric8.io/git-branch: "release-v0.1.5"
    fabric8.io/metrics-path: "dashboard/file/kubernetes-pods.json/?var-project=zipkin&var-version=0.1.5"
    fabric8.io/build-id: "3"
    fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/78bd65851c7d9e22652957107fc339a55f80b606"
    fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/3"
  labels:
    app: zipkin
  name: zipkin
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zipkin
  template:
    metadata:
      annotations:
        fabric8.io/git-commit: "78bd65851c7d9e22652957107fc339a55f80b606"
        fabric8.io/metrics-path: "dashboard/file/kubernetes-pods.json/?var-project=zipkin&var-version=0.1.5"
        fabric8.io/build-id: "3"
        fabric8.io/build-url: "http://jenkins.ux.fabric8.io/job/oss-parent/3"
        fabric8.io/git-branch: "release-v0.1.5"
        fabric8.io/git-url: "http://gogs.ux.fabric8.io/gogsadmin/oss-parent/commit/78bd65851c7d9e22652957107fc339a55f80b606"
      labels:
        app: zipkin
    spec:
      containers:
      - env:
        - name: COLLECTOR_KAFKA_ENABLED
          value: "true"
        - name: TRANSPORT_TYPE
          value: http
        - name: KAFKA_BOOTSTRAP_SERVERS
          value: http://kafka-headless:9092
        - name: HTTP_COLLECTOR_ENABLED
          value: "true"
        - name: COLLECTOR_ACTIVEMQ_ENABLED
          value: "false"
        - name: COLLECTOR_RABBITMQ_ENABLED
          value: "false"
        - name: QUERY_LOG_LEVEL
          value: DEBUG
        - name: logging.level.zipkin2
          value: DEBUG
        - name: "KUBERNETES_NAMESPACE"
          value: default
        image: "openzipkin/zipkin:latest"
        name: zipkin
        ports:
        - name: http
          containerPort: 9411
        readinessProbe:
          httpGet:
            path: /api/v1/services
            port: 9411
          initialDelaySeconds: 20
          periodSeconds: 15
          failureThreshold: 6
        livenessProbe:
          httpGet:
            path: /health
            port: 9411
          initialDelaySeconds: 20
        resources:
          limits:
            cpu: "0"
            memory: "0"
          requests:
            cpu: "0"
            memory: "0"

, когда я вызываю конечную точку /health из другого развертывания внутри моего кластера с IP-адресом модуля, я могу получить к нему доступ, и это мой вывод:

curl 10.42.4.17:9411/health
{
  "status" : "UP",
  "zipkin" : {
    "status" : "UP",
    "details" : {
      "InMemoryStorage{}" : {
        "status" : "UP"
      },
      "KafkaCollector{bootstrapServers=http://kafka-headless:9092, topic=zipkin}" : {
        "status" : "UP"
      }
    }
  }

но когда я пытаюсь получить доступ с именем службы, я не могу.

curl http://zipkin:9411/health
curl: (7) Failed to connect to zipkin port 9411: Connection refused

это вывод kubectl describe svc zipkin

kubectl describe svc zipkin
Name:                     zipkin
Namespace:                default
Labels:                   app=zipkin
Annotations:              field.cattle.io/publicEndpoints:
                            [{"addresses":["192.168.164.42"],"port":30562,"protocol":"TCP","serviceName":"default:zipkin","allNodes":true}]
                          kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app":"zipkin"},"name":"zipkin","namespace":"default"},"spec":{...
Selector:                 app=zipkin
Type:                     NodePort
IP:                       10.43.186.82
Port:                     http  9411/TCP
TargetPort:               9411/TCP
NodePort:                 http  30562/TCP
Endpoints:                
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

и: kubectl logs zipkin- 9898fcf7f-2nmkx

                  oo
                 oooo
                oooooo
               oooooooo
              oooooooooo
             oooooooooooo
           ooooooo  ooooooo
          oooooo     ooooooo
         oooooo       ooooooo
        oooooo   o  o   oooooo
       oooooo   oo  oo   oooooo
     ooooooo  oooo  oooo  ooooooo
    oooooo   ooooo  ooooo  ooooooo
   oooooo   oooooo  oooooo  ooooooo
  oooooooo      oo  oo      oooooooo
  ooooooooooooo oo  oo ooooooooooooo
      oooooooooooo  oooooooooooo
          oooooooo  oooooooo
              oooo  oooo

     ________ ____  _  _____ _   _
    |__  /_ _|  _ \| |/ /_ _| \ | |
      / / | || |_) | ' / | ||  \| |
     / /_ | ||  __/| . \ | || |\  |
    |____|___|_|   |_|\_\___|_| \_|

:: version 2.21.0 :: commit 36b7d32 ::

2020-04-04 12:38:52.851 DEBUG 1 --- [           main] z.s.i.ZipkinModuleImporter               : no modules found under path zipkin.internal.module
2020-04-04 12:38:52.862 DEBUG 1 --- [           main] z.s.i.ZipkinActuatorImporter             : attempting to load actuator configuration: [org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration, org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration]
2020-04-04 12:38:53.941  INFO 1 --- [           main] z.s.ZipkinServer                         : Starting ZipkinServer on zipkin-9898fcf7f-2nmkx with PID 1 (/zipkin/BOOT-INF/classes started by zipkin in /zipkin)
2020-04-04 12:38:53.942  INFO 1 --- [           main] z.s.ZipkinServer                         : The following profiles are active: shared
2020-04-04 12:38:56.034  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.verboseExceptions: rate-limit=10 (default)
2020-04-04 12:38:56.056  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.verboseSocketExceptions: false (default)
2020-04-04 12:38:56.056  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.verboseResponses: false (default)
2020-04-04 12:38:56.099  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.ConsumerConfig                 : ConsumerConfig values: 
        allow.auto.create.topics = true
        auto.commit.interval.ms = 5000
        auto.offset.reset = earliest
        bootstrap.servers = [http://kafka-headless:9092]
        check.crcs = true
        client.dns.lookup = default
        client.id = 
        client.rack = 
        connections.max.idle.ms = 540000
        default.api.timeout.ms = 60000
        enable.auto.commit = true
        exclude.internal.topics = true
        fetch.max.bytes = 52428800
        fetch.max.wait.ms = 500
        fetch.min.bytes = 1
        group.id = zipkin
        group.instance.id = null
        heartbeat.interval.ms = 3000
        interceptor.classes = []
        internal.leave.group.on.close = true
        isolation.level = read_uncommitted
        key.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer
        max.partition.fetch.bytes = 1048576
        max.poll.interval.ms = 300000
        max.poll.records = 500
        metadata.max.age.ms = 300000
        metric.reporters = []
        metrics.num.samples = 2
        metrics.recording.level = INFO
        metrics.sample.window.ms = 30000
        partition.assignment.strategy = [class org.apache.kafka.clients.consumer.RangeAssignor]
        receive.buffer.bytes = 65536
        reconnect.backoff.max.ms = 1000
        reconnect.backoff.ms = 50
        request.timeout.ms = 30000
        retry.backoff.ms = 100
        sasl.client.callback.handler.class = null
        sasl.jaas.config = null
        sasl.kerberos.kinit.cmd = /usr/bin/kinit
        sasl.kerberos.min.time.before.relogin = 60000
        sasl.kerberos.service.name = null
        sasl.kerberos.ticket.renew.jitter = 0.05
        sasl.kerberos.ticket.renew.window.factor = 0.8
        sasl.login.callback.handler.class = null
        sasl.login.class = null
        sasl.login.refresh.buffer.seconds = 300
        sasl.login.refresh.min.period.seconds = 60
        sasl.login.refresh.window.factor = 0.8
        sasl.login.refresh.window.jitter = 0.05
        sasl.mechanism = GSSAPI
        security.protocol = PLAINTEXT
        security.providers = null
        send.buffer.bytes = 131072
        session.timeout.ms = 10000
        ssl.cipher.suites = null
        ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
        ssl.endpoint.identification.algorithm = https
        ssl.key.password = null
        ssl.keymanager.algorithm = SunX509
        ssl.keystore.location = null
        ssl.keystore.password = null
        ssl.keystore.type = JKS
        ssl.protocol = TLS
        ssl.provider = null
        ssl.secure.random.implementation = null
        ssl.trustmanager.algorithm = PKIX
        ssl.truststore.location = null
        ssl.truststore.password = null
        ssl.truststore.type = JKS
        value.deserializer = class org.apache.kafka.common.serialization.ByteArrayDeserializer

2020-04-04 12:38:56.208  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.useEpoll: true (default)
2020-04-04 12:38:56.210  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.maxNumConnections: 2147483647 (default)
2020-04-04 12:38:56.211  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.numCommonWorkers: 2 (default)
2020-04-04 12:38:56.212  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.numCommonBlockingTaskThreads: 200 (default)
2020-04-04 12:38:56.215  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultMaxRequestLength: 10485760 (default)
2020-04-04 12:38:56.216  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultMaxResponseLength: 10485760 (default)
2020-04-04 12:38:56.217  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultRequestTimeoutMillis: 10000 (default)
2020-04-04 12:38:56.218  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultResponseTimeoutMillis: 15000 (default)
2020-04-04 12:38:56.218  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultConnectTimeoutMillis: 3200 (default)
2020-04-04 12:38:56.219  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultWriteTimeoutMillis: 1000 (default)
2020-04-04 12:38:56.220  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultServerIdleTimeoutMillis: 15000 (default)
2020-04-04 12:38:56.221  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultClientIdleTimeoutMillis: 10000 (default)
2020-04-04 12:38:56.222  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2PingTimeoutMillis: 0 (default)
2020-04-04 12:38:56.222  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2InitialConnectionWindowSize: 1048576 (default)
2020-04-04 12:38:56.223  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2InitialStreamWindowSize: 1048576 (default)
2020-04-04 12:38:56.224  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2MaxFrameSize: 16384 (default)
2020-04-04 12:38:56.225  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2MaxStreamsPerConnection: 2147483647 (default)
2020-04-04 12:38:56.226  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp2MaxHeaderListSize: 8192 (default)
2020-04-04 12:38:56.227  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp1MaxInitialLineLength: 4096 (default)
2020-04-04 12:38:56.228  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp1MaxHeaderSize: 8192 (default)
2020-04-04 12:38:56.229  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultHttp1MaxChunkSize: 8192 (default)
2020-04-04 12:38:56.230  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultUseHttp2Preface: true (default)
2020-04-04 12:38:56.230  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultUseHttp1Pipelining: false (default)
2020-04-04 12:38:56.230  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultUseHttp2PingWhenNoActiveStreams: false (default)
2020-04-04 12:38:56.231  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultBackoffSpec: exponential=200:10000,jitter=0.2 (default)
2020-04-04 12:38:56.232  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.defaultMaxTotalAttempts: 10 (default)
2020-04-04 12:38:56.233  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.routeCache: maximumSize=4096 (default)
2020-04-04 12:38:56.233  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.routeDecoratorCache: maximumSize=4096 (default)
2020-04-04 12:38:56.233  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.compositeServiceCache: maximumSize=256 (default)
2020-04-04 12:38:56.234  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.parsedPathCache: maximumSize=4096 (default)
2020-04-04 12:38:56.234  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.headerValueCache: maximumSize=4096 (default)
2020-04-04 12:38:56.234  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.fileServiceCache: maximumSize=1024 (default)
2020-04-04 12:38:56.240  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.cachedHeaders: :authority,:scheme,:method,accept-encoding,content-type (default)
2020-04-04 12:38:56.243  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.annotatedServiceExceptionVerbosity: unhandled (default)
2020-04-04 12:38:56.246  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.useJdkDnsResolver: false (default)
2020-04-04 12:38:56.246  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.reportBlockedEventLoop: true (default)
2020-04-04 12:38:56.247  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.validateHeaders: true (default)
2020-04-04 12:38:56.247  INFO 1 --- [           main] c.l.a.c.Flags                            : com.linecorp.armeria.useLegacyMeterNames: false (default)
2020-04-04 12:38:56.248  INFO 1 --- [           main] c.l.a.c.Flags                            : Using /dev/epoll
2020-04-04 12:38:56.547  INFO 1 --- [pool-2-thread-1] o.a.k.c.u.AppInfoParser                  : Kafka version: 2.4.1
2020-04-04 12:38:56.547  INFO 1 --- [pool-2-thread-1] o.a.k.c.u.AppInfoParser                  : Kafka commitId: c57222ae8cd7866b
2020-04-04 12:38:56.548  INFO 1 --- [pool-2-thread-1] o.a.k.c.u.AppInfoParser                  : Kafka startTimeMs: 1586003936543
2020-04-04 12:38:56.557  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.KafkaConsumer                  : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Subscribed to topic(s): zipkin
2020-04-04 12:38:56.558  INFO 1 --- [pool-2-thread-1] z.c.k.KafkaCollectorWorker               : Kafka consumer starting polling loop.
2020-04-04 12:38:57.002  INFO 1 --- [           main] c.l.a.s.d.DocStringExtractor             : Using com.linecorp.armeria.thrift.jsonDir: META-INF/armeria/thrift
2020-04-04 12:38:57.224  INFO 1 --- [pool-2-thread-1] o.a.k.c.Metadata                         : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Cluster ID: NxPNZeYPRLChEBVHfUiuAA
2020-04-04 12:38:57.227  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.AbstractCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Discovered group coordinator 10.42.6.12:9092 (id: 2147483647 rack: null)
2020-04-04 12:38:57.235  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.AbstractCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] (Re-)joining group
2020-04-04 12:38:57.255  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.AbstractCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] (Re-)joining group
2020-04-04 12:38:57.268  INFO 1 --- [           main] c.l.a.c.u.SystemInfo                     : Hostname: zipkin-9898fcf7f-2nmkx (from /proc/sys/kernel/hostname)
2020-04-04 12:38:57.560 DEBUG 1 --- [pool-2-thread-1] z.c.k.KafkaCollectorWorker               : Kafka polling returned batch of 0 messages.
2020-04-04 12:38:58.200  INFO 1 --- [oss-http-*:9411] c.l.a.s.Server                           : Serving HTTP at /0.0.0.0:9411 - http://127.0.0.1:9411/
2020-04-04 12:38:58.207  INFO 1 --- [           main] c.l.a.s.ArmeriaAutoConfiguration         : Armeria server started at ports: {/0.0.0.0:9411=ServerPort(/0.0.0.0:9411, [http])}
2020-04-04 12:38:58.268  INFO 1 --- [           main] z.s.ZipkinServer                         : Started ZipkinServer in 7.288 seconds (JVM running for 12.716)
2020-04-04 12:38:58.566 DEBUG 1 --- [pool-2-thread-1] z.c.k.KafkaCollectorWorker               : Kafka polling returned batch of 0 messages.
2020-04-04 12:38:59.568 DEBUG 1 --- [pool-2-thread-1] z.c.k.KafkaCollectorWorker               : Kafka polling returned batch of 0 messages.
2020-04-04 12:39:00.265  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.ConsumerCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Finished assignment for group at generation 117: {consumer-zipkin-1-fb98f8ee-4b85-4616-b60b-35ef4b41706d=Assignment(partitions=[zipkin-0])}
2020-04-04 12:39:00.282  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.AbstractCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Successfully joined group with generation 117
2020-04-04 12:39:00.294  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.ConsumerCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Adding newly assigned partitions: zipkin-0
2020-04-04 12:39:00.316  INFO 1 --- [pool-2-thread-1] o.a.k.c.c.i.ConsumerCoordinator          : [Consumer clientId=consumer-zipkin-1, groupId=zipkin] Setting offset for partition zipkin-0 to the committed offset FetchPosition{offset=0, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=10.42.4.102:9092 (id: 1 rack: null), epoch=-1}}
2020-04-04 12:39:00.570 DEBUG 1 --- [pool-2-thread-1] z.c.k.KafkaCollectorWorker               : Kafka polling returned batch of 0 messages.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 апреля 2020
>> kubectl get deployment zipkin 
NAME READY UP-TO-DATE AVAILABLE AGE 
zipkin 0/1 1 0 14m

Это указывает на то, что модуль не готов, поэтому служба не добавит IP-адрес этого модуля в список конечных точек. Проверьте тест готовности вашего модуля, описав его, и устраните проблему, из-за которой он не готов. Как только это будет исправлено, вы начнете видеть некоторые конечные точки, заполненные при описании службы, которые позволят вам получить доступ к службе по имени DNS.

...