Puncte:1

Podul agentului seifului injectat nu reușește să pornească, serverul API și seiful nu comunică

drapel vn

Am un cluster local Kubernetes folosind kind. Este un cluster cu un singur nod.

Pe acest cluster pe care îl urmăresc acest ghid pentru configurarea seifului și a agentului-seifului-injector.

Dacă urmez tutorialul pas cu pas, rezultatul final este că podul orgchart nu va porni, deoarece încă așteaptă să pornească sidecar-ul agentului seifului.

kubectl obține păstăi:

SPAȚIUL DE NUMELE NUMELE STAREA PREGĂTITĂ REINCEPE VÂRSTA
implicit dnstools 0/1 Finalizat 0 22m
implicit orgchart-7457f8489d-hxtqt 1/1 Alergare 0 26m
implicit orgchart-798cbc6c76-4kzrl 0/2 Init:0/1 0 25m
seif implicit-0 1/1 Alergare 0 28m
implicit vault-agent-injector-79d479cf7d-kz67q 1/1 Running 0 28m
kube-system coredns-558bd4d5db-gnxl7 1/1 Alergare 0 45m
kube-system coredns-558bd4d5db-ph95m 1/1 Alergare 0 45m
kube-system etcd-kind-control-plane 1/1 Alergare 0 45m
kube-system kindnet-bjvzg 1/1 Alergare 0 45m
kube-system kube-apiserver-kind-control-plane 1/1 Alergare 0 45m
kube-system kube-controller-manager-kind-control-plane 1/1 Alergare 0 45m
kube-system kube-proxy-v5545 1/1 Alergare 0 45m
kube-system kube-scheduler-kind-control-plane 1/1 Alergare 0 45m
local-path-storage local-path-provisioner-547f784dff-mp79j 1/1 Running 0 45m

kubectl obține svc:

    SPAȚIU DE NUMELE NUME TIP CLUSTER-IP EXTERN-IP PORT(E) VÂRSTA
implicit kubernetes ClusterIP 10.96.0.1 <niciunul> 443/TCP 44m
seif implicit ClusterIP 10.96.42.180 <niciunul> 8200/TCP,8201/TCP 27m
implicit vault-agent-injector-svc ClusterIP 10.96.156.79 <none> 443/TCP 27m
ClusterIP implicit al seifului intern Nici unul <niciun> 8200/TCP,8201/TCP 27m
kube-system kube-dns ClusterIP 10.96.0.10 <niciunul> 53/UDP,53/TCP,9153/TCP 44m

kubectl descrie org:

Nume: orgchart-798cbc6c76-4kzrl
Spațiu de nume: implicit
Prioritate: 0
Nod: kind-control-plane/172.18.0.2
Ora de începere: vineri, 20 august 2021 13:07:13 +0000
Etichete: app=orgchart
              pod-template-hash=798cbc6c76
Adnotări: vault.hashicorp.com/agent-inject: true
              vault.hashicorp.com/agent-inject-secret-database-config.txt: intern/data/database/config
              vault.hashicorp.com/agent-inject-status: injectat
              vault.hashicorp.com/role: internal-app
Stare: în așteptare
IP: 10.244.0.12
IP-uri:
  IP: 10.244.0.12
Controlat de: ReplicaSet/orgchart-798cbc6c76
Containere Init:
  vault-agent-init:
    ID container: containerd://d7dc0c9d089a1e59d85ac16a422a5195f5e7026a5c98a004d5e6a6a576900119
    Imagine: hashicorp/vault:1.8.0
    ID imagine: docker.io/hashicorp/vault@sha256:54d12f84c0bfbed57d2d2e1d89099540c5ccb4e6c3b2b0a123b82dab12c99e75
    Port: <niciunul>
    Port gazdă: <niciun>
    Comanda:
      /bin/sh
      -ec
    Argumente:
      echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && agent seif -config=/home/vault/config.json
    Stare: alergare
      Început: vineri, 20 august 2021 13:07:14 +0000
    Gata: Fals
    Număr de reporniri: 0
    Limite:
      CPU: 500 m
      memorie: 128 Mi
    Cereri:
      CPU: 250 m
      memorie: 64 Mi
    Mediu inconjurator:
      VAULT_LOG_LEVEL: informații
      VAULT_LOG_FORMAT: standard
      VAULT_CONFIG: <REDACTATE>
    Suporturi:
      /home/seif din home-init (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la kube-api-access-lx52m (ro)
      /seif/secrete din vault-secrets (rw)
Containere:
  organigrama:
    ID container:
    Imagine: jweissig/app:0.0.1
    ID imagine:
    Port: <niciunul>
    Port gazdă: <niciun>
    Stare: În așteptare
      Motiv: PodInitializing
    Gata: Fals
    Număr de reporniri: 0
    Mediu: <niciun>
    Suporturi:
      /var/run/secrets/kubernetes.io/serviceaccount de la kube-api-access-lx52m (ro)
      /seif/secrete din vault-secrets (rw)
  agent seif:
    ID container:
    Imagine: hashicorp/vault:1.8.0
    ID imagine:
    Port: <niciunul>
    Port gazdă: <niciun>
    Comanda:
      /bin/sh
      -ec
    Argumente:
      echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && agent seif -config=/home/vault/config.json
    Stare: În așteptare
      Motiv: PodInitializing
    Gata: Fals
    Număr de reporniri: 0
    Limite:
      CPU: 500 m
      memorie: 128 Mi
    Cereri:
      CPU: 250 m
      memorie: 64 Mi
    Mediu inconjurator:
      VAULT_LOG_LEVEL: informații
      VAULT_LOG_FORMAT: standard
      VAULT_CONFIG: <REDACTATE>
    Suporturi:
      /home/seif din home-sidecar (rw)
      /var/run/secrets/kubernetes.io/serviceaccount de la kube-api-access-lx52m (ro)
      /seif/secrete din vault-secrets (rw)
Conditii:
  Tastați Stare
  Inițializat Fals
  Gata Fals
  ContainersReady False
  PodScheduled Adevărat
Volume:
  kube-api-access-lx52m:
    Tip: Proiectat (un volum care conține date injectate din mai multe surse)
    TokenExpirationSeconds: 3607
    ConfigMapName: kube-root-ca.crt
    ConfigMapOptional: <nil>
    DownwardAPI: adevărat
  home-init:
    Tip: EmptyDir (un director temporar care partajează durata de viață a unui pod)
    Mediu: memorie
    SizeLimit: <dezactivat>
  home-sidecar:
    Tip: EmptyDir (un director temporar care partajează durata de viață a unui pod)
    Mediu: memorie
    SizeLimit: <dezactivat>
  secrete-seif:
    Tip: EmptyDir (un director temporar care partajează durata de viață a unui pod)
    Mediu: memorie
    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 26m default-scheduler Alocat cu succes implicit/orgchart-798cbc6c76-4kzrl planului-de-control-tip
  Imaginea containerului Kubelet tras normal de 26 m „hashicorp/vault:1.8.0” deja prezentă pe mașină
  Normal Creat 26m kubelet Creat container vault-agent-init
  Normal Pornit 26m kubelet Pornit container vault-agent-init
  Avertisment DNSConfigForming 53s (x25 peste 26 m) au fost depășite limitele liniei de căutare kubelet, unele căi de căutare au fost omise, linia de căutare aplicată este: default.svc.cluster.local svc.cluster.local cluster.local <EXPURSAT> <EXPURGAT> < EXTERGAT>

Privind în jurnalele apiserver, văd următorul mesaj:

E0820 13:03:55.315142 1 dispatcher.go:171] nu a reușit apelarea webhook „vault.hashicorp.com”: postați „https://vault-agent-injector-svc.default.svc:443/mutate?timeout=10s” : formați tcp 10.96.156.79:443: conectați: fără rută către gazdă

Și uitându-mă în jurnalele vault-agent-injector, văd următorul mesaj:

2021-08-20T13:03:55.887Z [INFO] handler: Pornire handler..
Ascult pe „:8080”...
2021-08-20T13:03:55.896Z [INFO] handler.auto-tls: CA generat
2021-08-20T13:03:55.899Z [INFO] handler.certwatcher: S-a primit pachetul de certificate actualizat. Se actualizează certificatele...
2021-08-20T13:05:55.808Z [INFO] handler: Solicitare primită: Method=POST URL=/mutate?timeout=10s
2021-08-20T13:07:13.447Z [INFO] handler: Solicitare primită: Method=POST URL=/mutate?timeout=10s
2021-08-20T13:10:16.613Z [INFO] handler: Solicitare primită: Method=POST URL=/mutate?timeout=10s

Am configurat clusterul meu amabil pentru a putea folosi MutatingAdmissionWebhooks:

fel: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
noduri:
- rol: control-plan
  kubeadmConfigPatches:
  - |
    fel: InitConfiguration
    nodeÎnregistrare:
      kubeletExtraArgs:
        etichete-noduri: "ingress-ready=true"
  - |
    fel: ClusterConfiguration
    apiServer:
        extraArgs:
          enable-admission-plugins: NodeRestriction, MutatingAdmissionWebhook,ValidatingAdmissionWebhook
  extraPortMappings:
  - containerPort: 80
    hostPort: 8080
    protocol: TCP
  - containerPort: 443
    portul gazdă: 8443
    protocol: TCP
rețele:
  apiServerAddress: „127.0.0.1”
  apiServerPort: 443

Ce pași următori pot face pentru a mă ajuta să depanez problema?

Cred că aceasta este o problemă cu căutarea dns pentru vault-agent-injector-svc, dar nu sunt sigur de unde să încep.

Mulțumiri, Max Sargent

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.