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