Score:1

มีการเชื่อมต่อกับ nginx pod จากโหนดที่กำลังทำงานอยู่เท่านั้น

ธง ws

ฉันได้ติดตั้ง kubernetes master และหนึ่งโหนด v 1.20.0 ฉันปรับใช้ nginx ด้วย

kubectl เรียกใช้ nginxpod --image=nginx


$ kubectl รับพ็อด -o กว้าง
ชื่อ พร้อม สถานะ เริ่มใหม่ อายุ IP โหนด โหนดที่ได้รับการเสนอชื่อ เกตส์ความพร้อม
nginxpod 1/1 ทำงาน 0 19s 192.168.2.195 xps15-9560 <ไม่มี> <ไม่มี>

บนมาสเตอร์เมื่อฉันขดตัวบนมาสเตอร์หมดเวลา:

$ curl 192.168.2.195
curl: (7) ไม่สามารถเชื่อมต่อกับพอร์ต 192.168.2.195 80: การเชื่อมต่อหมดเวลา

บนโหนดใช้งานได้ ฉันได้ลองจากโฮสต์อื่นบนเครือข่ายของฉันแล้ว และพวกเขาก็หมดเวลาเช่นกัน เหตุใดฉันจึงสามารถเชื่อมต่อจากโหนดที่พ็อดกำลังทำงานอยู่เท่านั้น

----แก้ไข----

โหนดผ้าดิบกำลังทำงานแต่ยังไม่พร้อม ฉันไม่รู้ว่ามันหมายความว่าอะไร:

$ kubectl รับพ็อด -A
NAMESPACE NAME สถานะพร้อมเริ่มอายุใหม่
เริ่มต้น nginxpod 1/1 วิ่ง 0 64m
kube-system calico-kube-controllers-5f6cfd688c-wk5jp 1/1 วิ่ง 0 69m
kube-system calico-node-t47kf 0/1 วิ่ง 0 45m
kube-system calico-node-vqj6m 0/1 วิ่ง 0 68m
kube-system calico-node-wzwzb 0/1 วิ่ง 0 69m
ระบบ kube coredns-74ff55c5b-mb2vj 1/1 วิ่ง 0 69m
ระบบ kube coredns-74ff55c5b-pvsgz 1/1 วิ่ง 0 69m
ระบบ kube etcd-ubuntu-18-extssd 1/1 วิ่ง 0 69m
ระบบ kube kube-apiserver-ubuntu-18-extssd 1/1 วิ่ง 0 69m
ระบบ kube kube-controller-manager-ubuntu-18-extssd 1/1 วิ่ง 0 69m
ระบบ kube kube-proxy-5fq9b 1/1 วิ่ง 0 68m
ระบบ kube kube-proxy-bxhfm 1/1 วิ่ง 0 69m
kube-system kube-proxy-pp9sb 1/1 วิ่ง 0 45m
ระบบ kube kube-scheduler-ubuntu-18-extssd 1/1 วิ่ง 0 69m

--------แก้ไข 2------------------

ไม่พบโหนดผ้าดิบ:

$ kubectl อธิบาย pod calico-node-t47kf
ข้อผิดพลาดจากเซิร์ฟเวอร์ (NotFound): ไม่พบพ็อด "calico-node-t47kf"
$ kubectl อธิบาย pod calico-node-vqj6m
ข้อผิดพลาดจากเซิร์ฟเวอร์ (NotFound): ไม่พบพ็อด "calico-node-vqj6m"
$ kubectl อธิบาย pod calico-node-*****
ข้อผิดพลาดจากเซิร์ฟเวอร์ (NotFound): ไม่พบพ็อด "calico-node-*****"

----แก้ไข 3---- ผลลัพธ์สำหรับการอธิบาย pod calico-node-t47kf:

$ kubectl -n kube-system อธิบาย pod calico-node-t47kf
ชื่อ: calico-node-t47kf
เนมสเปซ: ระบบ kube
ลำดับความสำคัญ: 2000001000
ชื่อคลาสลำดับความสำคัญ: system-node-critical
โหนด: xps15-9560/192.168.0.71
เริ่มเวลา: อา. 05 ก.ย. 2564 16:51:37 -0600 น.
ป้ายกำกับ: controller-revision-hash=b8998dcb
                      k8s-app=ผ้าดิบโหนด
                      pod-template-generation=1
คำอธิบายประกอบ: <ไม่มี>
สถานะ: กำลังดำเนินการ
ไอพี: 192.168.0.71
IP:
  ไอพี: 192.168.0.71
ควบคุมโดย: DaemonSet/calico-node
คอนเทนเนอร์เริ่มต้น:
  อัพเกรด-ipam:
    รหัสคอนเทนเนอร์: นักเทียบท่า://3d393316548badf75bb2c2ad881ffd7a4d2c37a1762d84ec973715c8a398072e
    รูปภาพ: docker.io/calico/cni:v3.20.0
    รหัสรูปภาพ: docker-pullable://calico/cni@sha256:9906e2cca8006e1fe9fc3f358a3a06da6253afdd6fad05d594e884e8298ffe1d
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    สั่งการ:
      /opt/cni/bin/calico-ipam
      - อัพเกรด
    สถานะ: สิ้นสุด
      เหตุผล: เสร็จสิ้น
      รหัสทางออก: 0
      เริ่ม: อา. 05 ก.ย. 2564 16:51:38 -0600
      เสร็จสิ้น: อา. 05 ก.ย. 2564 16:51:38 -0600 น
    พร้อม:จริง
    เริ่มนับใหม่: 0
    ตัวแปรสภาพแวดล้อมจาก:
      kubernetes-services-endpoint ConfigMap ทางเลือก: จริง
    สิ่งแวดล้อม:
      KUBERNETES_NODE_NAME: (v1:spec.nodeName)
      CALICO_NETWORKING_BACKEND: <ตั้งค่าเป็นคีย์ 'calico_backend' ของ config map 'calico-config'> ทางเลือก: เท็จ
    ภูเขา:
      /host/opt/cni/bin จาก cni-bin-dir (rw)
      /var/lib/cni/networks จาก host-local-net-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก calico-node-token-qfrcw (ro)
  ติดตั้ง-cni:
    รหัสคอนเทนเนอร์: นักเทียบท่า://9e3b23f12657fe343117ec0cf54e104a8eb69c6133fe2dd10c1aabbc9260189f
    รูปภาพ: docker.io/calico/cni:v3.20.0
    รหัสรูปภาพ: docker-pullable://calico/cni@sha256:9906e2cca8006e1fe9fc3f358a3a06da6253afdd6fad05d594e884e8298ffe1d
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    สั่งการ:
      /opt/cni/bin/ติดตั้ง
    สถานะ: สิ้นสุด
      เหตุผล: เสร็จสิ้น
      รหัสทางออก: 0
      เริ่ม: อา. 05 ก.ย. 2564 16:51:39 -0600
      เสร็จสิ้น: อา. 05 ก.ย. 2564 16:51:40 -0600 น
    พร้อม:จริง
    เริ่มนับใหม่: 0
    ตัวแปรสภาพแวดล้อมจาก:
      kubernetes-services-endpoint ConfigMap ทางเลือก: จริง
    สิ่งแวดล้อม:
      CNI_CONF_NAME: 10-calico.conflist
      CNI_NETWORK_CONFIG: <set to the key 'cni_network_config' of config map 'calico-config'> ทางเลือก: เท็จ
      KUBERNETES_NODE_NAME: (v1:spec.nodeName)
      CNI_MTU: <set to the key 'veth_mtu' of config map 'calico-config'> ทางเลือก: เท็จ
      นอน: เท็จ
    ภูเขา:
      /host/etc/cni/net.d จาก cni-net-dir (rw)
      /host/opt/cni/bin จาก cni-bin-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก calico-node-token-qfrcw (ro)
  ไดรเวอร์ flexvol:
    รหัสคอนเทนเนอร์: นักเทียบท่า://090008276cf33c2fd64aa141405e90feff00fc70f55769372655e45bf2e2dc92
    รูปภาพ: docker.io/calico/pod2daemon-flexvol:v3.20.0
    รหัสรูปภาพ: docker-pullable://calico/pod2daemon-flexvol@sha256:c17e3e9871682bed00bfd33f8d6f00db1d1a126034a25bf5380355978e0c548d
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    สถานะ: สิ้นสุด
      เหตุผล: เสร็จสิ้น
      รหัสทางออก: 0
      เริ่ม: อา. 05 ก.ย. 2564 16:51:40 -0600
      เสร็จสิ้น: อา. 05 ก.ย. 2564 16:51:40 -0600 น
    พร้อม:จริง
    เริ่มนับใหม่: 0
    สภาพแวดล้อม: <ไม่มี>
    ภูเขา:
      /host/driver จาก flexvol-driver-host (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก calico-node-token-qfrcw (ro)
ตู้คอนเทนเนอร์:
  ผ้าดิบโหนด:
    รหัสคอนเทนเนอร์: นักเทียบท่า://2c1456bb2f346564f88b3e8deba3baef1669f0aa61aa0e654d52c915eaf462cf
    รูปภาพ: docker.io/calico/node:v3.20.0
    รหัสรูปภาพ: docker-pullable://calico/node@sha256:7f9aa7e31fbcea7be64b153f8bcfd494de023679ec10d851a05667f0adb42650
    พอร์ต: <ไม่มี>
    พอร์ตโฮสต์: <ไม่มี>
    รัฐ: วิ่ง
      เริ่ม: อา. 05 กันยายน 2021 16:51:41 -0600
    พร้อม: เท็จ
    เริ่มนับใหม่: 0
    คำขอ:
      ซีพียู: 250 ม
    ความมีชีวิตชีวา: exec [/bin/calico-node -felix-live -bird-live] delay=10s timeout=10s period=10s #success=1 #failure=6
    ความพร้อม: exec [/bin/calico-node -felix-ready -bird-ready] delay=0s timeout=10s period=10s #success=1 #failure=3
    ตัวแปรสภาพแวดล้อมจาก:
      kubernetes-services-endpoint ConfigMap ทางเลือก: จริง
    สิ่งแวดล้อม:
      DATASTOR_TYPE: kubernetes
      WAIT_FOR_DATASTOR: จริง
      NODENAME: (v1:spec.nodeName)
      CALICO_NETWORKING_BACKEND: <ตั้งค่าเป็นคีย์ 'calico_backend' ของ config map 'calico-config'> ทางเลือก: เท็จ
      CLUSTER_TYPE: k8s,bgp
      IP: ตรวจจับอัตโนมัติ
      CALICO_IPV4POOL_IPIP: เสมอ
      CALICO_IPV4POOL_VXLAN: ไม่เคย
      FELIX_IPINIPMTU: <set to the key 'veth_mtu' of config map 'calico-config'> ทางเลือก: เท็จ
      FELIX_VXLANMTU: <set to the key 'veth_mtu' of config map 'calico-config'> ทางเลือก: เท็จ
      FELIX_WIREGUARDMTU: <set to the key 'veth_mtu' of config map 'calico-config'> ทางเลือก: เท็จ
      CALICO_DISABLE_FILE_LOGGING: จริง
      FELIX_DEFAULTENDPOINTTOHOSTACTION: ยอมรับ
      FELIX_IPV6SUPPORT: เท็จ
      FELIX_HEALTHENABLED: จริง
    ภูเขา:
      /host/etc/cni/net.d จาก cni-net-dir (rw)
      /lib/modules จาก lib-modules (ro)
      /run/xtables.lock จาก xtables-lock (rw)
      /sys/fs/ จาก sysfs (rw)
      /var/lib/calico จาก var-lib-calico (rw)
      /var/log/calico/cni จาก cni-log-dir (ro)
      /var/run/calico จาก var-run-calico (rw)
      /var/run/nodeagent จาก policysync (rw)
      /var/run/secrets/kubernetes.io/serviceaccount จาก calico-node-token-qfrcw (ro)
เงื่อนไข:
  พิมพ์สถานะ
  เริ่มต้น True 
  พร้อมเท็จ 
  ตู้คอนเทนเนอร์พร้อมเป็นเท็จ 
  PodScheduled จริง 
ปริมาณ:
  โมดูล lib:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    พาธ: /lib/modules
    ประเภทเส้นทางโฮสต์:  
  var-รัน-ผ้าดิบ:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /var/run/calico
    ประเภทเส้นทางโฮสต์:  
  var-lib-ผ้าดิบ:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /var/lib/calico
    ประเภทเส้นทางโฮสต์:  
  xtables-ล็อค:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /run/xtables.lock
    HostPathType: FileOrCreate
  sysfs:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /sys/fs/
    HostPathType: DirectoryOrCreate
  ซีนี-บิน-ดีร:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /opt/cni/bin
    ประเภทเส้นทางโฮสต์:  
  cni-net-dir:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /etc/cni/net.d
    ประเภทเส้นทางโฮสต์:  
  cni-บันทึก-dir:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /var/log/calico/cni
    ประเภทเส้นทางโฮสต์:  
  โฮสต์ท้องถิ่นสุทธิ dir:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /var/lib/cni/networks
    ประเภทเส้นทางโฮสต์:  
  ซิงค์นโยบาย:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    พาธ: /var/run/nodeagent
    HostPathType: DirectoryOrCreate
  flexvol-ไดรเวอร์โฮสต์:
    ประเภท: HostPath (ไดเร็กทอรีโฮสต์เปล่า)
    เส้นทาง: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
    HostPathType: DirectoryOrCreate
  ผ้าดิบโหนดโทเค็น qfrcw:
    ประเภท: ความลับ (ไดรฟ์ข้อมูลที่เป็นความลับ)
    ชื่อลับ: calico-node-token-qfrcw
    ทางเลือก: เท็จ
คลาส QoS: ระเบิดได้
ตัวเลือกโหนด: kubernetes.io/os=linux
ความคลาดเคลื่อน: :NoSchedule op=มีอยู่
                 : NoExecute op=มีอยู่
                 CriticalAddonsOnly op=มีอยู่
                 node.kubernetes.io/disk-pressure:NoSchedule op=มีอยู่
                 node.kubernetes.io/memory-pressure:NoSchedule op=มีอยู่
                 node.kubernetes.io/network-unavailable:NoSchedule op=มีอยู่
                 node.kubernetes.io/not-ready:NoExecute op=มีอยู่
                 node.kubernetes.io/pid-pressure:NoSchedule op=มีอยู่
                 node.kubernetes.io/unreachable:NoExecute op=มีอยู่
                 node.kubernetes.io/unschedulable:NoSchedule op=มีอยู่
เหตุการณ์:
  พิมพ์อายุเหตุผลจากข้อความ
  ---- ------ ---- ---- -------
  คำเตือน 93s ไม่แข็งแรง (x41181 มากกว่า 4d18h) kubelet (รวมจากเหตุการณ์ที่คล้ายกัน): โพรบความพร้อมล้มเหลว: 10 2021-09-10 17:16:42.497 [INFO][1620263] confd/health.go 180: จำนวนโหนดที่มี สร้างการเพียร์ BGP แล้ว = 0
ผ้าดิบ/โหนดไม่พร้อม: BIRD ไม่พร้อม: BGP ไม่สร้างด้วย 192.168.55.1,192.168.0.12

------ แก้ไข 4-------

พยายามลบและติดตั้งผ้าดิบและ ที่ทำให้สิ่งต่าง ๆ แย่ลง.

Michael Hampton avatar
cz flag
คุณตั้งค่าเครือข่ายพ็อดอย่างไร
ws flag
ฉันใช้ผ้าดิบกับ `kubeadm init --pod-network-cidr=192.168.0.12/16` นั่นคือที่อยู่ IP หลัก
Wytrzymały Wiktor avatar
it flag
สวัสดี @DeanSchulze โปรดให้ข้อมูลเพิ่มเติมเกี่ยวกับฝักผ้าดิบโดยเรียกใช้ 'kubectl อธิบาย pod calico-node-*****' เพื่อดูปัญหาที่ทำให้เกิดสถานะพร้อม 0/1
ws flag
โหนด Calico ให้ NotFound ดูแก้ไข 2 ด้านบน
Wytrzymały Wiktor avatar
it flag
เนื่องจากฝักผ้าดิบของคุณทำงานในเนมสเปซ `kube-system` โปรดแก้ไขคำขอของคุณด้วยการระบุเนมสเปซ: 'kubectl -n kube-system อธิบาย pod calico-node-*****'
ws flag
เพิ่มเอาต์พุต (ยาว) ใน Edit 3 ด้านบน ดูเหมือนว่าการปิดโหนดของผ้าดิบแทบจะในทันที
Wytrzymały Wiktor avatar
it flag
คุณยังคงสามารถจำลองปัญหาเริ่มต้นและสถานะพร้อม 0/1 สำหรับโหนด Calico ได้หรือไม่
ws flag
ใช่. calico-node-* ทั้ง 3 มีค่า 0/1 Ready ฉันได้ลองลบและติดตั้งผ้าดิบใหม่แล้ว แต่ไม่มีอะไรเปลี่ยนแปลง
Score:1
ธง ws

เห็นได้ชัดว่ามีบางอย่างผิดปกติกับ ผ้าดิบ.yaml. นี่คือทางออก ที่ทำให้โหนดผ้าดิบของฉันขึ้น:

วิ่ง:
kubectl ตั้งค่า env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=can-reach=www.google.com

จากนั้นฝักก็พร้อมภายในไม่กี่วินาที

อ้างอิง:
https://docs.projectcalico.org/networking/ip-autodetection#change-the-autodetection-method

โพสต์คำตอบ

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