Score:0

คลัสเตอร์ Kubernetes - โหนดสร้าง ca ของตัวเอง

ธง us

ดังนั้นฉันจึงปรับใช้คลัสเตอร์ด้วยตนเองและการกำหนดค่า api ของฉันจะเป็นดังนี้:

[หน่วย]
คำอธิบาย=เซิร์ฟเวอร์ API ของ Kubernetes
เอกสาร=https://github.com/kubernetes/kubernetes

[บริการ]
ExecStart=/usr/local/bin/kube-apiserver \
  --advertise-address=10.1.1.21 \
  --allow-privileged=true \
  --apiserver-count=2 \
  --audit-log-maxage=30 \
  --audit-log-maxbackup=3 \
  --audit-log-maxsize=100 \
  --log-dir=/var/log/kubernetes/ \
  --log-file=/var/log/kubernetes/kube-apiserver.log \
  --log-file-max-size=500 \
  --audit-log-path=/var/log/kubernetes/kube-apiserver-audit.log \
  --authorization-mode=Node,RBAC \
  --bind-address=0.0.0.0 \
  --client-ca-file=/etc/kubernetes/pki/ca/ca.crt \
  --enable-admission-plugins=NodeRestriction,ServiceAccount \
  --enable-bootstrap-token-auth=true \
  --etcd-cafile=/etc/kubernetes/pki/ca/ca.crt \
  --etcd-certfile=/etc/kubernetes/pki/etcd/etcd-server.crt \
  --etcd-keyfile=/etc/kubernetes/pki/etcd/etcd-server.key \
  --etcd-servers=https://master01:2379,https://master02:2379,https://master03:2379 \
  --event-ttl=1h \
  --encryption-provider-config=/var/lib/kubernetes/encryption-config.yaml \
  --kubelet-certificate-authority=/etc/kubernetes/pki/ca/ca.crt \
  --kubelet-client-certificate=/etc/kubernetes/pki/kube-apiserver.crt \
  --kubelet-client-key=/etc/kubernetes/pki/kube-apiserver.key \
  --runtime-config=api/all=true \
  --service-account-key-file=/etc/kubernetes/pki/service-account.crt \
  --service-cluster-ip-range=10.96.0.0/24 \
  --service-node-port-range=30000-32767 \
  --tls-cert-file=/etc/kubernetes/pki/kube-apiserver.crt \
  --tls-private-key-file=/etc/kubernetes/pki/kube-apiserver.key \
  --service-account-signing-key-file=/etc/kubernetes/pki/service-account.key \
  --service-account-issuer=https://kubernetes.default.svc.cluster.local \
  --v=2
รีสตาร์ท = เมื่อล้มเหลว
รีสตาร์ทวินาที=5

[ติดตั้ง]
WantedBy=multi-user.target

โหนดควบคุมหลัก 3 โหนดของฉันทำงานได้ดี เมื่อฉันพยายามลงทะเบียนโหนดโดยใช้การกำหนดค่าต่อไปนี้

[หน่วย]
คำอธิบาย=Kubernetes Kubelet
เอกสาร=https://github.com/kubernetes/kubernetes
After=docker.service
ต้องการ = docker.service

[บริการ]
ExecStart=/usr/local/bin/kubelet \
  --config=/var/lib/kubelet/kubelet-config.yaml \
  --kubeconfig=/var/lib/kubelet/kubeconfig \
  --register-node=true \
  --v=2
รีสตาร์ท = เมื่อล้มเหลว
รีสตาร์ทวินาที=5

[ติดตั้ง]
WantedBy=multi-user.target

kubelet-config.yaml

ชนิด: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
ที่อยู่: "0.0.0.0"
พอร์ต: 10250
serializeImagePulls: เท็จ
ขับไล่ยาก:
    หน่วยความจำที่มีอยู่: "200Mi"
การรับรองความถูกต้อง:
  ไม่ระบุชื่อ:
    เปิดใช้งาน: เท็จ
  เว็บฮุค:
    เปิดใช้งาน: จริง
  x509:
    ลูกค้า CAFile: "/etc/kubernetes/pki/ca/ca.crt"
การอนุญาต:
  โหมด: เว็บฮุค
คลัสเตอร์โดเมน: "cluster.local"
DNS คลัสเตอร์:
  - "10.96.0.10"
resolvConf: "/run/systemd/resolve/resolv.conf"
runtimeRequestTimeout: "15m"

เมื่อโหนดของฉันลงทะเบียน แทนที่จะสร้างใบรับรองอัตโนมัติและลงทะเบียนในคลัสเตอร์โดยใช้ CA ที่กำหนดค่าไว้ โหนดกำลังสร้างใบรับรอง CA ของตัวเอง แม้ว่าโหนดจะเป็นส่วนหนึ่งของคลัสเตอร์ การสื่อสารทั้งหมด (ปรับใช้ รับบันทึก ฯลฯ ) ล้มเหลวเนื่องจากไม่รู้จักโหนด ca ในคลัสเตอร์... ใครช่วยบังแสงให้หน่อยได้ไหม?

in flag
สวัสดี tinash.chipomho ยินดีต้อนรับสู่ S.F. โดยไม่รู้ว่าคุณได้รับ kubeconfig นั้นมาได้อย่างไร มันยากที่จะเปิดเผย ตามเนื้อผ้า เราใช้ `kubeadm join` กับโทเค็นการรวมและแฮช CA ของ apiserver ที่ควรเชื่อมต่ออย่างชัดแจ้งเพื่อหลีกเลี่ยงผลลัพธ์ที่ไม่ดีเหล่านั้น พิจารณา[แก้ไขคำถามของคุณ](https://serverfault.com/posts/1080955/edit) เพื่อให้บริบทเพิ่มเติมและขั้นตอนการดีบักที่คุณได้ลองไปแล้ว ขอให้โชคดี

โพสต์คำตอบ

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