Tôi đã theo dõi Kelsey Hightower's Kubernetes theo cách khó khăn hướng dẫn bạn cách thiết lập cụm k8s theo cách thủ công.
Đây là không phải đang chạy trên minikube - nó đang chạy trên một VPS từ xa.
Tôi đang ở bước thiết lập máy bay điều khiển k8s.
Tuy nhiên, khi cố gắng chạy kiểm tra sức khỏe trên kube-apiserver
Tôi nhận được như sau:
$ thông tin cụm kubectl --kubeconfig admin.kubeconfig
Để tiếp tục gỡ lỗi và chẩn đoán các vấn đề về cụm, hãy sử dụng 'kết xuất thông tin cụm kubectl'.
Kết nối với máy chủ 127.0.0.1:6443 bị từ chối - bạn đã chỉ định đúng máy chủ hoặc cổng chưa?
Tôi không chắc bắt đầu gỡ lỗi từ đâu ở đây.
Cấu hình
Tất cả 3 dịch vụ k8s đang chạy:
systemctl status kube-apiserver kube-controller-manager kube-scheduler etcd
# => Tất cả 4 trả về: "đang hoạt động (đang chạy)"
Các kube-apiserver
được cấu hình để bắt đầu với hệ thống
:
$ mèo /etc/systemd/system/kube-apiserver.service
[Đơn vị]
Mô tả=Máy chủ API Kubernetes
Tài liệu=https://github.com/kubernetes/kubernetes
[Dịch vụ]
ExecStart=/usr/local/bin/kube-apiserver \
--advertise-address=$INTERNAL_IP_REDACTED \
--allow-đặc quyền=true \
--apiserver-count=3 \
--audit-log-maxage=30 \
--audit-log-maxbackup=3 \
--audit-log-maxsize=100 \
--audit-log-path=/var/log/audit.log \
--authorization-mode=Nút,RBAC \
--bind-address=0.0.0.0 \
--client-ca-file=/var/lib/kubernetes/ca.pem \
--enable-admission-plugins=NamespaceLifecycle,NodeRestriction,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota \
--etcd-cafile=/var/lib/kubernetes/ca.pem \
--etcd-certfile=/var/lib/kubernetes/kubernetes.pem \
--etcd-keyfile=/var/lib/kubernetes/kubernetes-key.pem \
--etcd-servers=https://10.240.0.10:2379,https://10.240.0.11:2379,https://10.240.0.12:2379 \
--event-ttl=1h \
--encryption-provider-config=/var/lib/kubernetes/encryption-config.yaml \
--kubelet-certificate-authority=/var/lib/kubernetes/ca.pem \
--kubelet-client-certificate=/var/lib/kubernetes/kubernetes.pem \
--kubelet-client-key=/var/lib/kubernetes/kubernetes-key.pem \
--runtime-config='api/all=true' \
--service-account-key-file=/var/lib/kubernetes/service-account.pem \
--service-account-signing-key-file=/var/lib/kubernetes/service-account-key.pem \
--service-account-issuer=https://$EXTERNAL_IP_REDACTED:6443 \
--service-cluster-ip-range=10.32.0.0/24 \
--service-node-port-range=30000-32767 \
--tls-cert-file=/var/lib/kubernetes/kubernetes.pem \
--tls-private-key-file=/var/lib/kubernetes/kubernetes-key.pem \
--v=2
Khởi động lại = khi thất bại
Khởi động lạiSec=5
[Cài đặt]
WantedBy=multi-user.target
Các kube-apiserver
chắc chắn đang chạy và nghe trên cổng :6443
$ lsof -iTCP -sTCP:LISTEN -n -P | grep 6443
kube-apis 989442 gốc 7u IPv6 9345693 0t0 TCP *:6443 (LẮNG NGHE)
Đây là quản trị viên.kubeconfig
tệp được định cấu hình để tìm kiếm cụm tại 127.0.0.1:6443
phiên bản api: v1
cụm:
- cụm:
chứng chỉ-cơ quan-dữ liệu: LS0tL...
máy chủ: https://127.0.0.1:6443
tên: kubernetes-the-hard-way
bối cảnh:
- bối cảnh:
cụm: kubernetes-the-hard-way
người dùng: quản trị viên
tên: mặc định
bối cảnh hiện tại: mặc định
loại: Cấu hình
sở thích: {}
người dùng:
- tên: quản lý
người dùng:
dữ liệu chứng chỉ ứng dụng khách: LS0tLS1CRU...
dữ liệu khóa khách hàng: LS0tLS1C ....
Có chứng chỉ SSL được cung cấp (được tạo trước đó trong hướng dẫn Kubernetes)
$ ls -hlt /var/lib/kubernetes/ca*
-rw------- 1 gốc gốc 1,7K 18 tháng 12 00:56 /var/lib/kubernetes/ca-key.pem
-rw-r--r-- 1 root root 1,3K 18 tháng 12 00:56 /var/lib/kubernetes/ca.pem
Cuối cùng, NGINX cũng được cấu hình để chuyển hướng cổng 80
giao thông đến điểm cuối kiểm tra sức khỏe
$ cat /etc/nginx/sites-available/kubernetes.default.svc.cluster.local
người phục vụ {
nghe 80;
server_name kubernetes.default.svc.cluster.local;
vị trí /healthz {
proxy_pass https://127.0.0.1:6443/healthz;
proxy_ssl_trusted_certificate /var/lib/kubernetes/ca.pem;
}
}
Như đã đề cập ở trên, tôi không thực sự thấy điều gì sai và Tôi không biết nơi nào khác để bắt đầu điều tra.
Cảm ơn bạn!