Phiên bản hệ điều hành VM - RHEL 8.2 (4.18.0-193.el8.x86_64)
Phiên bản docker - 19.03.8
Phiên bản Kubernetes - 1.18.0
Cấu hình H/W - 4 CPU và 16 GB RAM (90% khả dụng)
nhật ký thực thi từ kubeadm init
$$kubeadm init --kubernetes-version="v1.18.0" --pod-network-cidr="10.244.0.0/16"
W0519 21:08:48.180818 913499 configset.go:202] CẢNH BÁO: kubeadm không thể xác thực cấu hình thành phần cho các nhóm API [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Sử dụng phiên bản Kubernetes: v1.18.0
[preflight] Chạy kiểm tra trước chuyến bay
[CẢNH BÁO IsDockerSystemdCheck]: đã phát hiện "cgroupfs" là trình điều khiển cgroup Docker. Trình điều khiển được đề xuất là "systemd". Vui lòng làm theo hướng dẫn tại https://kubernetes.io/docs/setup/cri/
[CẢNH BÁO FileExisting-socat]: không tìm thấy socat trong đường dẫn hệ thống
[preflight] Kéo hình ảnh cần thiết để thiết lập cụm Kubernetes
[preflight] Quá trình này có thể mất một hoặc hai phút, tùy thuộc vào tốc độ kết nối internet của bạn
[preflight] Bạn cũng có thể thực hiện hành động này trước bằng cách sử dụng 'kéo hình ảnh cấu hình kubeadm'
[kubelet-start] Viết tệp môi trường kubelet có cờ vào tệp "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Viết cấu hình kubelet vào tệp "/var/lib/kubelet/config.yaml"
[kubelet-start] Bắt đầu kubelet
[certs] Sử dụng thư mục certificateDir "/etc/kubernetes/pki"
[certs] Đang tạo khóa và chứng chỉ "ca"
[certs] Đang tạo khóa và chứng chỉ "apiserver"
[certs] chứng chỉ cung cấp apiserver được ký cho tên DNS [host422 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] và IP [10.96.0.1 10.180.40.75]
[certs] Tạo chứng chỉ và khóa "apiserver-kubelet-client"
[certs] Đang tạo khóa và chứng chỉ "front-proxy-ca"
[certs] Đang tạo khóa và chứng chỉ "front-proxy-client"
[certs] Tạo chứng chỉ và khóa "etcd/ca"
[certs] Đang tạo khóa và chứng chỉ "etcd/server"
[certs] etcd/server server cert được ký cho tên DNS [host422 localhost] và IP [10.180.40.75 127.0.0.1 ::1]
[certs] Đang tạo khóa và chứng chỉ "etcd/peer"
[certs] chứng chỉ phân phát etcd/peer được ký cho tên DNS [host422 localhost] và IP [10.180.40.75 127.0.0.1 ::1]
[certs] Tạo chứng chỉ và khóa "etcd/healthcheck-client"
[certs] Tạo chứng chỉ và khóa "apiserver-etcd-client"
[certs] Tạo khóa "sa" và khóa chung
[kubeconfig] Sử dụng thư mục kubeconfig "/etc/kubernetes"
[kubeconfig] Viết tập tin kubeconfig "admin.conf"
[kubeconfig] Viết tệp kubeconfig "kubelet.conf"
[kubeconfig] Viết tệp kubeconfig "controller-manager.conf"
[kubeconfig] Viết tệp kubeconfig "scheduler.conf"
[mặt phẳng điều khiển] Sử dụng thư mục kê khai "/etc/kubernetes/manifests"
[control-plane] Tạo bảng kê khai Pod tĩnh cho "kube-apiserver"
[control-plane] Tạo bảng kê khai Pod tĩnh cho "kube-controller-manager"
W0519 21:08:50.681218 913499 manifests.go:225] chế độ ủy quyền kube-apiserver mặc định là "Node,RBAC"; sử dụng "Nút, RBAC"
[control-plane] Tạo bảng kê khai Pod tĩnh cho "kube-scheduler"
W0519 21:08:50.681948 913499 manifests.go:225] chế độ ủy quyền kube-apiserver mặc định là "Node,RBAC"; sử dụng "Nút, RBAC"
[etcd] Tạo tệp kê khai Pod tĩnh cho etcd cục bộ trong "/etc/kubernetes/manifests"
[wait-control-plane] Chờ kubelet khởi động mặt phẳng điều khiển dưới dạng Pod tĩnh từ thư mục "/etc/kubernetes/manifests". Quá trình này có thể mất tới 4m0s
[kubelet-check] Thời gian chờ ban đầu là 40 giây đã qua.
Thật không may, một lỗi đã xảy ra:
hết thời gian chờ điều kiện
Lỗi này có thể do:
- Kubelet không chạy
- Kubelet không hoạt động tốt do cấu hình sai của nút theo một cách nào đó (các nhóm bắt buộc bị vô hiệu hóa)
Nếu bạn đang sử dụng hệ thống hỗ trợ systemd, bạn có thể thử khắc phục lỗi bằng các lệnh sau:
- 'kubelet trạng thái systemctl'
- 'journalctl -xeu kubelet'
Ngoài ra, một thành phần mặt phẳng điều khiển có thể đã bị lỗi hoặc thoát khi được khởi động bởi thời gian chạy vùng chứa.
Để khắc phục sự cố, hãy liệt kê tất cả các vùng chứa bằng CLI thời gian chạy vùng chứa ưa thích của bạn.
Đây là một ví dụ về cách bạn có thể liệt kê tất cả các bộ chứa Kubernetes đang chạy trong docker:
- 'docker ps -a | grep kube | grep -v tạm dừng'
Khi bạn đã tìm thấy bộ chứa bị lỗi, bạn có thể kiểm tra nhật ký của nó bằng:
- 'bản ghi docker CONTAINERID'
lỗi thực hiện giai đoạn chờ điều khiển máy bay: không thể khởi tạo cụm Kubernetes
(1) Đã thực hiện hoán đổi -a
(2) Đã thử cập nhật driver cgroup của docker và kubelet lên systemd
Kubeadm reset , swap -a và iptables đã được xóa và thử mà không thành công. Vui lòng cho tôi biết những gì tôi cần phải kiểm tra.