Score:1

Injected vault-agent pod ไม่สามารถเริ่มทำงาน เซิร์ฟเวอร์ api & vault ไม่สื่อสารกัน

ธง vn

ฉันมีคลัสเตอร์ kubernetes ในเครื่องโดยใช้ชนิด เป็นคลัสเตอร์โหนดเดียว

ในกลุ่มนี้ฉันกำลังติดตาม นี้ คำแนะนำในการตั้งค่า Vault & vault-agent-injector

หากฉันทำตามบทช่วยสอนทีละขั้นตอน ผลลัพธ์ที่ได้คือพ็อด orgchart จะล้มเหลวในการเริ่มต้น เนื่องจากยังรอให้ vault-agent sidecar เริ่มทำงาน

kubectl รับพ็อด:

NAMESPACE NAME สถานะพร้อมเริ่มอายุใหม่
dnstools เริ่มต้น 0/1 เสร็จสิ้น 0 22m
เริ่มต้น orgchart-7457f8489d-hxtqt 1/1 วิ่ง 0 26m
เริ่มต้น orgchart-798cbc6c76-4kzrl 0/2 เริ่มต้น:0/1 0 25m
ค่าเริ่มต้น vault-0 1/1 วิ่ง 0 28m
vault-agent-injector-79d479cf7d-kz67q เริ่มต้น 1/1 ทำงาน 0 28m
ระบบ kube coredns-558bd4d5db-gnxl7 1/1 วิ่ง 0 45m
ระบบ kube coredns-558bd4d5db-ph95m 1/1 วิ่ง 0 45m
kube-system etcd-kind-control-plane 1/1 วิ่ง 0 45m
kube-system kindnet-bjvzg 1/1 วิ่ง 0 45m
kube-system kube-apiserver-kind-control-plane 1/1 วิ่ง 0 45m
kube-system kube-controller-manager-kind-control-plane 1/1 วิ่ง 0 45m
ระบบ kube kube-proxy-v5545 1/1 วิ่ง 0 45m
kube-system kube-scheduler-kind-control-plane 1/1 วิ่ง 0 45m
local-path-storage local-path-provisioner-547f784dff-mp79j 1/1 วิ่ง 0 45m

kubectl รับ svc:

    NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) อายุ
kubernetes เริ่มต้น ClusterIP 10.96.0.1 <ไม่มี> 443/TCP 44m
ห้องนิรภัยเริ่มต้น ClusterIP 10.96.42.180 <ไม่มี> 8200/TCP,8201/TCP 27m
vault-agent-injector-svc เริ่มต้น ClusterIP 10.96.156.79 <ไม่มี> 443/TCP 27m
ค่าดีฟอลต์ vault-internal ClusterIP ไม่มี <ไม่มี> 8200/TCP,8201/TCP 27m
ระบบ kube kube-dns ClusterIP 10.96.0.10 <ไม่มี> 53/UDP,53/TCP,9153/TCP 44m

kubectl อธิบาย org:

ชื่อ: orgchart-798cbc6c76-4kzrl
เนมสเปซ: ค่าเริ่มต้น
ลำดับความสำคัญ: 0
โหนด: kind-control-plane/172.18.0.2
เวลาเริ่ม: ศ. 20 ส.ค. 2564 13:07:13 +0000
ป้ายกำกับ: app=orgchart
              ฝักแม่แบบแฮช = 798cbc6c76
คำอธิบายประกอบ: vault.hashicorp.com/agent-inject: จริง
              vault.hashicorp.com/agent-inject-secret-database-config.txt: ภายใน/ข้อมูล/ฐานข้อมูล/config
              vault.hashicorp.com/agent-inject-status: ฉีดแล้ว
              vault.hashicorp.com/role: แอปภายใน
สถานะ: รอดำเนินการ
ไอพี: 10.244.0.12
IP:
  ไอพี: 10.244.0.12
ควบคุมโดย: ReplicaSet/orgchart-798cbc6c76
คอนเทนเนอร์เริ่มต้น:
  vault-agent-init:
    รหัสตู้คอนเทนเนอร์: ตู้คอนเทนเนอร์://d7dc0c9d089a1e59d85ac16a422a5195f5e7026a5c98a004d5e6a6a576900119
    รูปภาพ: hashicorp/vault:1.8.0
    รหัสรูปภาพ: docker.io/hashicorp/vault@sha256:54d12f84c0bfbed57d2d2e1d89099540c5ccb4e6c3b2b0a123b82dab12c99e75
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    สั่งการ:
      /ถัง/sh
      -ec
    อาร์กิส:
      echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && ตัวแทน vault -config=/home/vault/config.json
    รัฐ: วิ่ง
      เริ่ม: ศุกร์ 20 ส.ค. 2021 13:07:14 +0000
    พร้อม: เท็จ
    เริ่มนับใหม่: 0
    ขีดจำกัด:
      ซีพียู: 500 ม
      หน่วยความจำ: 128Mi
    คำขอ:
      ซีพียู: 250 ม
      หน่วยความจำ: 64Mi
    สิ่งแวดล้อม:
      VAULT_LOG_LEVEL: ข้อมูล
      VAULT_LOG_FORMAT: มาตรฐาน
      VAULT_CONFIG: <ข้อมูลปกปิด>
    ภูเขา:
      /home/vault จาก home-init (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก kube-api-access-lx52m (ro)
      /vault/secrets จาก vault-secrets (rw)
ตู้คอนเทนเนอร์:
  แผนผังองค์กร:
    รหัสคอนเทนเนอร์:
    ภาพ: jweissig/app:0.0.1
    รหัสรูปภาพ:
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    รัฐ: กำลังรอ
      เหตุผล: PodInitializing
    พร้อม: เท็จ
    เริ่มนับใหม่: 0
    สภาพแวดล้อม: <ไม่มี>
    ภูเขา:
      /var/run/secrets/kubernetes.io/serviceaccount จาก kube-api-access-lx52m (ro)
      /vault/secrets จาก vault-secrets (rw)
  ตัวแทนห้องนิรภัย:
    รหัสคอนเทนเนอร์:
    รูปภาพ: hashicorp/vault:1.8.0
    รหัสรูปภาพ:
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    สั่งการ:
      /ถัง/sh
      -ec
    อาร์กิส:
      echo ${VAULT_CONFIG?} | base64 -d > /home/vault/config.json && ตัวแทน vault -config=/home/vault/config.json
    รัฐ: กำลังรอ
      เหตุผล: PodInitializing
    พร้อม: เท็จ
    เริ่มนับใหม่: 0
    ขีดจำกัด:
      ซีพียู: 500 ม
      หน่วยความจำ: 128Mi
    คำขอ:
      ซีพียู: 250 ม
      หน่วยความจำ: 64Mi
    สิ่งแวดล้อม:
      VAULT_LOG_LEVEL: ข้อมูล
      VAULT_LOG_FORMAT: มาตรฐาน
      VAULT_CONFIG: <ข้อมูลปกปิด>
    ภูเขา:
      /home/vault จาก home-sidecar (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก kube-api-access-lx52m (ro)
      /vault/secrets จาก vault-secrets (rw)
เงื่อนไข:
  พิมพ์สถานะ
  เริ่มต้นเป็นเท็จ
  พร้อมเท็จ
  ตู้คอนเทนเนอร์พร้อมเป็นเท็จ
  PodScheduled จริง
ปริมาณ:
  kube-api-เข้าถึง-lx52m:
    ประเภท: Projected (วอลุ่มที่มีข้อมูลที่ฉีดจากหลายแหล่ง)
    TokenExpirationSeconds: 3607
    ConfigMapName: kube-root-ca.crt
    ConfigMapOptional: <ไม่มี>
    DownwardAPI: จริง
  หน้าแรกเริ่มต้น:
    ประเภท: EmptyDir (ไดเร็กทอรีชั่วคราวที่แชร์อายุการใช้งานของพ็อด)
    สื่อ: หน่วยความจำ
    SizeLimit: <unset>
  รถข้างบ้าน:
    ประเภท: EmptyDir (ไดเร็กทอรีชั่วคราวที่แชร์อายุการใช้งานของพ็อด)
    สื่อ: หน่วยความจำ
    SizeLimit: <unset>
  ความลับห้องนิรภัย:
    ประเภท: EmptyDir (ไดเร็กทอรีชั่วคราวที่แชร์อายุการใช้งานของพ็อด)
    สื่อ: หน่วยความจำ
    SizeLimit: <unset>
คลาส QoS: ระเบิดได้
ตัวเลือกโหนด: <ไม่มี>
ความคลาดเคลื่อน: node.kubernetes.io/not-ready:NoExecute op=มีอยู่เป็นเวลา 300 วินาที
                 node.kubernetes.io/unreachable:NoExecute op=มีอยู่เป็นเวลา 300 วินาที
เหตุการณ์:
  พิมพ์อายุเหตุผลจากข้อความ
  ---- ------ ---- ---- -------
  ตัวกำหนดตารางเวลาเริ่มต้น 26m ตามกำหนดเวลาปกติ มอบหมาย default/orgchart-798cbc6c76-4kzrl ให้กับ kind-control-plane เรียบร้อยแล้ว
  รูปภาพคอนเทนเนอร์ kubelet ขนาด 26 ม. ที่ดึงออกมาปกติ "hashicorp/vault:1.8.0" มีอยู่แล้วในเครื่อง
  สร้างปกติ 26m kubelet สร้างคอนเทนเนอร์ vault-agent-init
  ปกติเริ่มต้น 26m kubelet เริ่มต้นคอนเทนเนอร์ vault-agent-init
  คำเตือน DNSConfigForming 53s (x25 มากกว่า 26m) เกินขีดจำกัดบรรทัดการค้นหา kubelet เส้นทางการค้นหาบางเส้นทางถูกละไว้ บรรทัดค้นหาที่ใช้คือ: default.svc.cluster.local svc.cluster.local cluster.local <ข้อมูลปกปิด> <ข้อมูลปกปิด> < ปกปิด>

เมื่อดูในบันทึก apiserver ฉันเห็นข้อความต่อไปนี้:

E0820 13:03:55.315142 1 dispatcher.go:171] ล้มเหลวในการเรียก webhook "vault.hashicorp.com": โพสต์ "https://vault-agent-injector-svc.default.svc:443/mutate?timeout=10s" : กด tcp 10.96.156.79:443: เชื่อมต่อ: ไม่มีเส้นทางไปยังโฮสต์

และดูในบันทึก vault-agent-injector ฉันเห็นข้อความต่อไปนี้:

2021-08-20T13:03:55.887Z ตัวจัดการ [INFO]: ตัวจัดการการเริ่มต้น..
กำลังฟัง ":8080"...
2021-08-20T13:03:55.896Z [INFO] handler.auto-tls: CA ที่สร้างขึ้น
2021-08-20T13:03:55.899Z [INFO] handler.certwatcher: ได้รับบันเดิลใบรับรองที่อัปเดตแล้ว กำลังอัปเดตใบรับรอง...
2021-08-20T13:05:55.808Z ตัวจัดการ [INFO]: ได้รับคำขอแล้ว: Method=POST URL=/mutate?timeout=10s
2021-08-20T13:07:13.447Z ตัวจัดการ [INFO]: ได้รับคำขอแล้ว: Method=POST URL=/mutate?timeout=10s
2021-08-20T13:10:16.613Z ตัวจัดการ [INFO]: ได้รับคำขอแล้ว: Method=POST URL=/mutate?timeout=10s

ฉันได้กำหนดค่าคลัสเตอร์ชนิดของฉันให้สามารถใช้ MutatingAdmissionWebhooks:

ชนิด: คลัสเตอร์
รุ่น api: kind.x-k8s.io/v1alpha4
โหนด:
- บทบาท: ระนาบควบคุม
  kubeadmConfigแพทช์:
  - |
    ประเภท: InitConfiguration
    การลงทะเบียนโหนด:
      kubeletExtraArgs:
        ป้ายชื่อโหนด: "ingress-ready=true"
  - |
    ประเภท: ClusterConfiguration
    apiเซิร์ฟเวอร์:
        อาร์กิวเมนต์พิเศษ:
          enable-admission-plugins: NodeRestriction,MutatingAdmissionWebhook,ValidatingAdmissionWebhook
  extraPortMappings:
  - ตู้คอนเทนเนอร์พอร์ต: 80
    พอร์ตโฮสต์: 8080
    โปรโตคอล: TCP
  - พอร์ตคอนเทนเนอร์: 443
    พอร์ตโฮสต์: 8443
    โปรโตคอล: TCP
เครือข่าย:
  apiServerAddress: "127.0.0.1"
  apiServerPort: 443

ฉันสามารถใช้ขั้นตอนต่อไปใดได้บ้างเพื่อช่วยแก้ปัญหานี้

ฉันคิดว่านี่เป็นปัญหากับการค้นหา DNS สำหรับ vault-agent-injector-svc แต่ฉันไม่แน่ใจว่าจะเริ่มต้นจากที่ใด

ขอบคุณ, แม็กซ์ ซาร์เจนท์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา