Puncte:0

consul: a crescut replicasetul, dar noile poduri nu pornesc și primesc Init:CrashLoopBackOff, cum să remediez asta?

drapel ke

Cu un singur set de replică, aplicația funcționează. Așa că am schimbat replicasetul la 3.

Apoi, celelalte două copii ale pod-urilor nu pornesc.: kubectl obține păstăi

 customservice-c8645cd6-7gghm 0/3 Init:CrashLoopBackOff 8 17m
    customservice-c8645cd6-f5nbn 3/3 Alergare 0 6h50m
    customservice-c8645cd6-fh57n 0/3 Init:CrashLoopBackOff 8 17m


 kubectl descrie pod customservice-c8645cd6-fh57n  

 Nume: customservice-c8645cd6-7gghm
Spațiu de nume: implicit
Prioritate: 0
Nod: ip-192-168-93-234.us-west-2.compute.internal/192.168.93.234
Ora de începere: marți, 20 iulie 2021 19:34:48 +0530
Etichete: aplicație=serviciu personalizat
              consul.hashicorp.com/connect-inject-status=injectat
              pod-template-hash=c8645cd6
              service=serviciu personalizat
Adnotări: consul.hashicorp.com/connect-inject: true
              consul.hashicorp.com/connect-inject-status: injectat
              consul.hashicorp.com/connect-service: servicii personalizate
              consul.hashicorp.com/connect-service-port: 18170
              consul.hashicorp.com/connect-service-upstreams: dashboard:9002
              kubernetes.io/psp: eks.privilegied
              prometheus.io/path: /metrics
              prometheus.io/port: 20200
              prometheus.io/scrape: adevărat
Stare: în așteptare
IP: 192.168.93.88
IP-uri:
  IP: 192.168.93.88
Controlat de: ReplicaSet/customservice-c8645cd6
Containere Init:
  consul-connect-inject-init:
    ID container: docker://a9bf6bb490f5c21637c18aff681d49d53692f09a3333bf34adb2080816953e26
    Imagine: hashicorp/consul:1.9.7
    ID imagine: docker-pullable://hashicorp/consul@sha256:37c7a001af46a68f8e3513bd8180e7f84133d428b0e4ce5cf385d3e54f894760
    Port: <niciun>
    Port gazdă: <niciun>
    Comanda:
      /bin/sh
      -ec

      export CONSUL_HTTP_ADDR="${HOST_IP}:8500"
      export CONSUL_GRPC_ADDR="${HOST_IP}:8502"

      # Înregistrați serviciul. HCL este stocat în volum astfel încât
      # cârligul preStop îl poate accesa pentru a anula înregistrarea serviciului.
      cat <<EOF >>/consul/connect-inject/service.hcl
      Servicii {
        id = „${SERVICE_ID}”
        nume = "serviciu personalizat"
        adresa = „${POD_IP}”
        port = 18170
        meta = {
          pod-name = „${POD_NAME}”
          k8s-namespace = „${POD_NAMESPACE}”
        }
      }

      Servicii {
        id = „${PROXY_SERVICE_ID}”
        nume = „customservice-sidecar-proxy”
        fel = "conectare-proxy"
        adresa = „${POD_IP}”
        port = 20000
        meta = {
          pod-name = „${POD_NAME}”
          k8s-namespace = „${POD_NAMESPACE}”
        }

        proxy {
        config {
          envoy_prometheus_bind_addr = "0.0.0.0:20200"
        }
          destination_service_name = "serviciu personalizat"
          destination_service_id = „${SERVICE_ID}”
          local_service_address = "127.0.0.1"
          local_service_port = 18170
          amonte {
            destination_type = "serviciu"
            destination_name = "tabloul de bord"
            local_bind_port = 9002
          }
        }

        cecuri {
          nume = „Ascultător public proxy”
          tcp = "${POD_IP}:20000"
          interval = "10s"
          deregister_critical_service_after = "10m"
        }

        cecuri {
          nume = „Alias ​​de destinație”
          alias_service = „${SERVICE_ID}”
        }
      }
      EOF

      /bin/registrul serviciilor consulare \
        /consul/connect-inject/service.hcl

      # Generați codul de bootstrap pentru Envoy
      /bin/consul connect envoy \
        -proxy-id="${PROXY_SERVICE_ID}" \
        -prometheus-scrape-path="/metrics" \
        -prometheus-backend-port="20100" \
        -bootstrap > /consul/connect-inject/envoy-bootstrap.yaml

      # Copiați binarul Consul
      cp /bin/consul /consul/connect-inject/consul
    Stare: În așteptare
      Motiv: CrashLoopBackOff
    Ultima stare: Terminat
      Motiv: Eroare
      Cod de ieșire: 1
      Început: marți, 20 iulie 2021 19:51:19 +0530
      Terminat: marți, 20 iulie 2021 19:51:23 +0530
    Gata: Fals
    Număr de reporniri: 8
    Limite:
      CPU: 50m
      memorie: 150 Mi
    Cereri:
      CPU: 50m
      memorie: 25 Mi
    Mediu inconjurator:
      HOST_IP: (v1:status.hostIP)
      POD_IP: (v1:status.podIP)
      POD_NAME: customservice-c8645cd6-7gghm (v1:metadata.name)
      POD_NAMESPACE: implicit (v1:metadata.namespace)
      SERVICE_ID: $(POD_NAME)-serviciu personalizat
      PROXY_SERVICE_ID: $(POD_NAME)-customservice-sidecar-proxy
    Suporturi:
      /consul/connect-inject din consul-connect-inject-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la customservice-token-4xf6t (ro)
Containere:
  servicii personalizate:
    ID container:
    Imagine: customserverlinux.azurecr.io/custom:latest
    ID imagine:
    Port: 18170/TCP
    Port gazdă: 0/TCP
    Stare: În așteptare
      Motiv: PodInitializing
    Gata: Fals
    Număr de reporniri: 0
    Mediu inconjurator:
      DASHBOARD_CONNECT_SERVICE_HOST: 127.0.0.1
      DASHBOARD_CONNECT_SERVICE_PORT: 9002
    Suporturi:
      /home/spring/AppData/Local/erwin/custom Server/ din volumul personalizat (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la customservice-token-4xf6t (ro)
  trimis-sidecar:
    ID container:
    Imagine: envoyproxy/envoy-alpine:v1.16.0
    ID imagine:
    Port: <niciun>
    Port gazdă: <niciun>
    Comanda:
      trimis
      --config-path
      /consul/connect-inject/envoy-bootstrap.yaml
      -l
      depanare
    Stare: În așteptare
      Motiv: PodInitializing
    Gata: Fals
    Număr de reporniri: 0
    Mediu inconjurator:
      HOST_IP: (v1:status.hostIP)
      CONSUL_HTTP_ADDR: $(HOST_IP):8500
    Suporturi:
      /consul/connect-inject din consul-connect-inject-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la customservice-token-4xf6t (ro)
  consul-sidecar:
    ID container:
    Imagine: hashicorp/consul-k8s:0.25.0
    ID imagine:
    Port: <niciun>
    Port gazdă: <niciun>
    Comanda:
      consul-k8s
      consul-sidecar
      -service-config
      /consul/connect-inject/service.hcl
      -consul-binar
      /consul/connect-inject/consul
      -enable-metrics-merging=true
      -merged-metrics-port=20100
      -service-metrics-port=18170
      -service-metrics-path=/metrics
    Stare: În așteptare
      Motiv: PodInitializing
    Gata: Fals
    Număr de reporniri: 0
    Limite:
      CPU: 20m
      memorie: 50 Mi
    Cereri:
      CPU: 20m
      memorie: 25 Mi
    Mediu inconjurator:
      HOST_IP: (v1:status.hostIP)
      CONSUL_HTTP_ADDR: $(HOST_IP):8500
    Suporturi:
      /consul/connect-inject din consul-connect-inject-data (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la customservice-token-4xf6t (ro)
Conditii:
  Tastați Stare
  Inițializat Fals
  Gata Fals
  ContainersReady False
  PodScheduled Adevărat
Volume:
  volum personalizat:
    Tip: EmptyDir (un director temporar care partajează durata de viață a unui pod)
    Mediu:
    SizeLimit: <dezactivat>
  customservice-token-4xf6t:
    Tip: Secret (un volum populat de un Secret)
    SecretName: customservice-token-4xf6t
    Opțional: fals
  consul-connect-inject-data:
    Tip: EmptyDir (un director temporar care partajează durata de viață a unui pod)
    Mediu:
    SizeLimit: <dezactivat>
Clasa QoS: Burstable
Selectori de noduri: <niciunul>
Tolerări: node.kubernetes.io/not-ready:NoExecute op=Există pentru 300 de secunde
                 node.kubernetes.io/unreachable:NoExecute op=Există timp de 300 de secunde
Evenimente:
  Introduceți Motivul Vârsta din mesaj
  ---- ------ ---- ---- -------
  Normal programat 19m default-scheduler Alocat cu succes default/customservice-c8645cd6-7gghm la ip-192-168-93-234.us-west-2.compute.internal
  Normal tras 17m (x5 peste 19m) Kubelet Imaginea containerului „hashicorp/consul:1.9.7” deja prezentă pe mașină
  Normal creat 17m (x5 peste 19m) kubelet Container creat consul-connect-inject-init
  Normal Pornit 17m (x5 peste 19m) Kubelet Pornit container consul-connect-inject-init
  Avertisment BackOff 3m50s (x68 peste 18m) kubelet Back-off repornirea containerului eșuat

Deoarece containerul init nu funcționează, înregistrează pentru acel container:

kubectl înregistrează customservice-c8645cd6-64j2j -c consul-connect-inject-init

Serviciu înregistrat: serviciu personalizat
Serviciu înregistrat: customservice-sidecar-proxy
steag furnizat, dar nedefinit: -prometheus-scrape-path
Utilizare:
  -valoarea adresei
        Adresă LAN pentru a face publicitate în înregistrarea serviciului gateway
  -admin-access-log-path șir
        Calea pentru a scrie jurnalul de acces pentru serverul de administrare. Dacă nu se dorește niciun jurnal de acces, specificați „/dev/null”. În mod implicit, va folosi „/dev/null”. (implicit "/dev/null")
  -admin-bind șir
        Adresa:portul pentru pornirea serverului de administrare al lui Envoy. Envoy solicită acest lucru, dar trebuie avut grijă să vă asigurați că nu este expus la o rețea neîncrezătoare, deoarece are control deplin asupra secretelor și configurației proxy-ului. (implicit „localhost:19000”)
  -bind-address <nume>=<ip>:<port>
        Adresă de legare de utilizat în locul regulilor implicite de legare date ca perechi <nume>=<ip>:<port>. Acest flag poate fi specificat de mai multe ori pentru a adăuga mai multe adrese de legare.
  -bootstrap
        Generați bootstrap.json, dar nu executați exec envoy
  -ca-file value
        Calea către un fișier CA de utilizat pentru TLS atunci când comunicați cu Consul. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_CACERT.
  -ca-valoarea căii
        Calea către un director de certificate CA de utilizat pentru TLS atunci când comunicați cu Consul. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_CAPATH.
  -valoare client-cert
        Calea către un fișier de certificare client de utilizat pentru TLS când „verify_incoming” este activat. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_CLIENT_CERT.
  -valoare cheie-client
        Calea către un fișier cheie client de utilizat pentru TLS când „verify_incoming” este activat. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_CLIENT_KEY.
  -deregister-după-șir critic
        Perioada de timp în care verificarea sănătății serviciilor de gateway poate eșua înainte de a fi anulată (implicit „6h”)
  -envoy-șir binar
        Calea completă către binarul Envoy pentru a rula. În mod implicit, va căuta doar $PATH. Ignorat dacă se folosește -bootstrap.
  -envoy-version șir
        Setează versiunea envoy pe care o are binarul envoy. (implicit „1.16.4”)
  -expune-servere
        Expuneți serverele pentru federarea WAN prin intermediul acestui gateway mesh
  -șir gateway
        Tipul de gateway de înregistrat. Una dintre: terminare, intrare sau rețea
  -grpc-addr șir
        Setați adresa gRPC și portul agentului (în format http(s)://gazdă:port). Alternativ, puteți specifica CONSUL_GRPC_ADDR în ENV. (implicit „192.168.93.234:8502”)
  -http-adresa adresa
        Adresa și portul agentului HTTP Consul. Valoarea poate fi o adresă IP sau o adresă DNS, dar trebuie să includă și portul. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_HTTP_ADDR. Valoarea implicită este http://127.0.0.1:8500. Schema poate fi setată și la HTTPS prin setarea variabilei de mediu CONSUL_HTTP_SSL=true.
  -mesh-gateway
        Configurați Envoy ca un Mesh Gateway.
  -namespace implicit
        Specifică spațiul de nume de interogat. Dacă nu este furnizat, spațiul de nume va fi dedus din simbolul ACL al cererii sau va fi implicit la spațiul de nume implicit. Spațiile de nume sunt o caracteristică Consul Enterprise.
  -no-central-config
        În mod implicit, configurația bootstrap a proxy-ului poate fi personalizată central.Acest lucru necesită ca comanda să ruleze pe același agent ca și proxy-ul și ca agentul să fie accesibil atunci când comanda este executată. În cazurile în care oricare dintre ipoteze este încălcată, acest indicator va împiedica încercarea comenzii de a rezolva configurația de la agentul local.
  -omit-deprecated-tags
        În Consul 1.9.0, formatul etichetelor metrice pentru clusterele Envoy a fost actualizat de la consul.[service|dc|...] la consul.destination.[service|dc|...]. Etichetele vechi au fost păstrate pentru compatibilitate cu versiunea anterioară, dar pot fi dezactivate cu acest steag.
  - șir de cod proxy
        ID-ul proxy-ului pe agentul local.
  -Inregistreaza-te
        Înregistrați un nou serviciu gateway înainte de a configura și a porni Envoy
  -șir de serviciu
        Numele serviciului de utilizat pentru înregistrare
  -sidecar-pentru sfoară
        ID-ul unei instanțe de serviciu pe agentul local pentru care acest proxy ar trebui să devină un sidecar. Necesită ca serviciul proxy să fie înregistrat la agent ca un proxy de conectare cu Proxy.DestinationServiceID setat la această valoare. Dacă este înregistrat mai mult de un astfel de proxy, acesta va eșua.
  -tls-server-name valoare
        Numele serverului de utilizat ca gazdă SNI atunci când vă conectați prin TLS. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_TLS_SERVER_NAME.
  -valoare simbol
        Indicativ ACL de utilizat în cerere. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_HTTP_TOKEN. Dacă nu este specificat, interogarea va fi implicit la simbolul agentului Consul la adresa HTTP.
  -token-file value
        Fișier care conține indicativul ACL de utilizat în cerere în loc de unul specificat prin argumentul -token sau variabila de mediu CONSUL_HTTP_TOKEN. Acest lucru poate fi specificat și prin variabila de mediu CONSUL_HTTP_TOKEN_FILE.
  -wan-valoare adresa
        Adresă WAN pentru a face publicitate în înregistrarea serviciului gateway. Pentru gateway-urile de intrare, este necesară doar o adresă IP (fără port).

Orice sugestie despre cum să remediați acest lucru?

Puncte:0
drapel cn
Vit

Nu sunt expert consul, totuși... verifică consul-connect-inject-init blochează pod-urile în bucla de inițializare pod din cauza indicatorului -prometheus-scrape-path # 919. Problema în sine este aceeași pe care o aveți, comportamentul este același și eroarea la fel. Poate că aceste informații te vor ajuta

Serviciu înregistrat: serviciu personalizat
Serviciu înregistrat: customservice-sidecar-proxy
steag furnizat, dar nedefinit: -prometheus-scrape-path
Utilizare:
Evenimente:
  Introduceți Motivul Vârsta din mesaj
  ---- ------ ---- ---- -------
  Normal programat 19m default-scheduler Alocat cu succes default/customservice-c8645cd6-7gghm la ip-192-168-93-234.us-west-2.compute.internal
  Normal tras 17m (x5 peste 19m) Kubelet Imaginea containerului „hashicorp/consul:1.9.7” deja prezentă pe mașină
  Normal creat 17m (x5 peste 19m) kubelet Container creat consul-connect-inject-init
  Normal Pornit 17m (x5 peste 19m) Kubelet Pornit container consul-connect-inject-init
  Avertisment BackOff 3m50s (x68 peste 18m) kubelet Back-off repornirea containerului eșuat

Ce versiune ai?

pentru a permite îmbinarea valorilor sidecar și a valorilor aplicației (connectInject.metrics.defaultEnableMerging : true) trebuie să fii folosind Consul 1.10.0-alpha1 sau o versiune superioară. Puteți elimina această valoare până când ai făcut upgrade Consul. În continuare, puteți obține doar valorile trimisului folosind o versiune Consul mai veche cu connectInject.metrics.defaultEnabled: adevărat.

Mai multe detalii: Adnotare helm consul connectinject-metrics-defaultenablemerging

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.