Я следил за Келси Хайтауэр. Kubernetes: трудный путь который проведет вас через ручную настройку кластера k8s.
Это нет работает на миникубе - работает на удаленном VPS.
Я нахожусь на этапе настройки плоскости управления k8s.
Однако при попытке запустить проверку работоспособности на kube-apiserver
Я получаю следующее:
$ kubectl cluster-info --kubeconfig admin.kubeconfig
Для дальнейшей отладки и диагностики проблем с кластером используйте «дамп информации о кластере kubectl».
В соединении с сервером 127.0.0.1:6443 было отказано - вы указали правильный хост или порт?
Я не совсем уверен, с чего начать отладку отсюда.
Конфигурация
Все 3 сервиса k8s работают:
статус systemctl kube-apiserver kube-controller-manager kube-scheduler etcd
# => Все 4 возвращают: "активен (работает)"
kube-apiserver
настроен на начало с системад
:
$ cat /etc/systemd/system/kube-apiserver.service
[Ед. изм]
Описание=Сервер API Kubernetes
Документация=https://github.com/kubernetes/kubernetes
[Оказание услуг]
ExecStart=/usr/local/bin/kube-apiserver \
--advertise-address=$INTERNAL_IP_REDACTED \
--allow-привилегированный = истина \
--apiserver-count=3 \
--audit-log-maxage=30 \
--audit-log-maxbackup=3 \
--audit-log-maxsize=100 \
--audit-log-path=/var/log/audit.log \
--authorization-mode=Узел,RBAC\
--bind-адрес=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=1ч \
--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
Перезапуск = при сбое
Рестартсек=5
[Установить]
WantedBy=многопользовательская.цель
kube-apiserver
определенно работает и слушает порт :6443
$ lsof -iTCP -sTCP:LISTEN -n -P | группа 6443
kube-apis 989442 root 7u IPv6 9345693 0t0 TCP *:6443 (СЛУШАТЬ)
Здесь admin.kubeconfig
файл, настроенный для поиска кластера в 127.0.0.1:6443
апиВерсия: v1
кластеры:
- кластер:
данные центра сертификации: LS0tL...
сервер: https://127.0.0.1:6443
имя: kubernetes-жесткий-путь
контексты:
- контекст:
кластер: kubernetes-жесткий путь
пользователь: админ
имя: по умолчанию
текущий контекст: по умолчанию
вид: Конфигурация
предпочтения: {}
пользователи:
- имя: админ
пользователь:
данные сертификата клиента: LS0tLS1CRU...
клиент-ключ-данные: LS0tLS1C....
Подготовлен SSL-сертификат (создан ранее в руководстве по Kubernetes).
$ ls -hlt /var/lib/kubernetes/ca*
-rw------- 1 root root 1.7K 18 дек 00:56 /var/lib/kubernetes/ca-key.pem
-rw-r--r-- 1 root root 1.3K 18 дек 00:56 /var/lib/kubernetes/ca.pem
Наконец, NGINX также настроен на перенаправление порт 80
трафик к конечной точке проверки работоспособности
$ cat /etc/nginx/sites-available/kubernetes.default.svc.cluster.local
сервер {
слушать 80;
имя_сервера kubernetes.default.svc.cluster.local;
местоположение/здоровье {
proxy_pass https://127.0.0.1:6443/healthz;
proxy_ssl_trusted_certificate /var/lib/kubernetes/ca.pem;
}
}
Как упоминалось выше, я действительно не вижу, что не так, и Я понятия не имею, с чего еще начать расследование.
Спасибо!