Grisha
все вроде как верно
Denis
да точно верно
Denis
все вроде как верно
kubectl describe configmap -n kube-system kubeadm-config
Grisha
ClusterStatus: ---- apiEndpoints: 5050k8s-master: advertiseAddress: 10.50.80.50 bindPort: 6443 5051k8s-master: advertiseAddress: 10.50.80.50 bindPort: 6443 5052k8s-master: advertiseAddress: 10.50.80.50 bindPort: 6443 apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterStatus Events: <none>
Grisha
вот это вроде как дичь
Grisha
тут я поменял, но это не на что не повиляло)
Denis
тут я поменял, но это не на что не повиляло)
Ну проблема ясна)Щас еще раз гляну на конфиг файл. Вот точно рабочий: apiVersion: kubeadm.k8s.io/v1beta1 kind: ClusterConfiguration kubernetesVersion: stable apiServer: certSANs: - 192.168.0.50 controlPlaneEndpoint: "192.168.0.50:6443" etcd: external: endpoints: - https://192.168.0.20:2379 - https://192.168.0.21:2379 - https://192.168.0.22:2379 caFile: /etc/etcd/ca.pem certFile: /etc/etcd/etcd.pem keyFile: /etc/etcd/etcd-key.pem networking: podSubnet: 172.16.0.0/16
Grisha
ну у меня такой же
Denis
ну у меня такой же
Проверь балансировщик
Grisha
а с ним то что?
Grisha
он же в режиме stream отдает
Denis
он же в режиме stream отдает
Он вообще работает, хотя бы узнай.
Grisha
100% работает, я же через него с кластером работаб
Denis
И доступны ли с него другие аписервера
Denis
Ты работаешь только с одним мастером из трех
Grisha
доступны все
Denis
доступны все
Нужно понять почему список эндпоинтов не обновляется.
Grisha
kubernetes 10.50.80.50:6443,10.50.80.51:6443,10.50.80.52:6443 12d
Grisha
я руками обновил
Denis
kubernetes 10.50.80.50:6443,10.50.80.51:6443,10.50.80.52:6443 12d
Сейчас доберусь до кластера тестового и проведу тесты
Grisha
но это не помогло)
Grisha
Ты это попробовал?
Это я тупо очкую
Denis
Это я тупо очкую
Вообщем у тебя при сетапе кластера что то пошло не так. Тебе нужно руками чуточку kubeadmconfig поправить. Там явно прописано что у тебя один мастер, на который и ссылается эндпоинт.
Grisha
[root@5050k8s-master ~]# kubeadm config view apiServer: certSANs: - 10.50.80.241 extraArgs: apiserver-count: "3" authorization-mode: Node,RBAC timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta1 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controlPlaneEndpoint: 10.50.80.241:6443 controllerManager: {} dns: type: CoreDNS etcd: external: caFile: /etc/etcd/ca.pem certFile: /etc/etcd/kubernetes.pem endpoints: - https://10.50.80.50:2379 - https://10.50.80.51:2379 - https://10.50.80.52:2379 keyFile: /etc/etcd/kubernetes-key.pem imageRepository: k8s.gcr.io kind: ClusterConfiguration kubernetesVersion: v1.14.0 networking: dnsDomain: cluster.local podSubnet: 10.244.0.0/16 serviceSubnet: 10.96.0.0/12 scheduler: {}
Grisha
вот через кубеадм вытащил
Grisha
но вижу вообще где тут указан мастер:(
Denis
Скинь полную команду kubeadm init
Denis
которой сетапил
Grisha
я такую врядли найду
Denis
Это очень важно.Возможно тут и кроется вся соль
Grisha
apiVersion: kubeadm.k8s.io/v1alpha3 kind: ClusterConfiguration kubernetesVersion: stable apiServerCertSANs: - 10.50.80.241 controlPlaneEndpoint: "10.50.80.241:6443" etcd: external: endpoints: - https://10.50.80.50:2379 - https://10.50.80.51:2379 - https://10.50.80.52:2379 caFile: /etc/etcd/ca.pem certFile: /etc/etcd/kubernetes.pem keyFile: /etc/etcd/kubernetes-key.pem networking: podSubnet: 10.244.0.0/16 apiServerExtraArgs: apiserver-count: «3»
Grisha
kubeadm init --config=config.yaml
Grisha
вот так
Denis
щас минуту
Grisha
https://blog.inkubate.io/install-and-configure-a-multi-master-kubernetes-cluster-with-kubeadm/
Grisha
мне кажется я в момент джоина натупил где-то
Denis
apiserver-count: «3» можешь удалит.
Grisha
а хотя где я это вообще могу натупить
Denis
Версия 14.0 ?
Grisha
да
Roman
может у кого было сие чудо)? Error: kubernetes_service.prebid-load-balancer: metadata.0.annotations: "service.beta.kubernetes.io/do-loadbalancer-algorithm" is internal Kubernetes annotation
Grisha
все ноды числятся как master, тут все кашерно
Denis
все ноды числятся как master, тут все кашерно
kubeadm join LB_IP:6443 —token —discovery-token-ca-cert-hash —experimental-control-plane
Denis
все ноды числятся как master, тут все кашерно
—experimental-control-plane флаг нужно указывать
Grisha
да я же вообще join не делал, я делал init на каждом мастере
Denis
да я же вообще join не делал, я делал init на каждом мастере
ну это древний способ) https://kubernetes.io/docs/setup/independent/high-availability/
Grisha
может попробовать удалить ноду и заново добавить?
Denis
может попробовать удалить ноду и заново добавить?
Да. kubeadm delete node и kubeadm reset на остальных двух мастера. Потом джойнь как как я написал или как в инструкции
Grisha
kubeadm? не kubectl?
Denis
может попробовать удалить ноду и заново добавить?
ну и перед этим на мастере не забуть выполнить kubeadm init phase upload-certs --experimental-upload-certs
Denis
kubeadm? не kubectl?
ой, сори.Опечатался
Grisha
надо бы еще вытащить строку для. join
Denis
надо бы еще вытащить строку для. join
Ну токен сгенеришь новый
𝚔𝚟𝚊𝚙𝚜
Хех в slack'е канал ksonnet переименовали в jsonnet, еще один гвоздь в крышку гроба проекта... Может можно петицию замутить чтобы VMware ksonnet тоже отдала CNCF? - интересно так вообще можно?
Grisha
Grisha
failure loading certificate for CA: couldn't load the certificate file /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: no such file or directory
Grisha
руками его прокинуть?
Grisha
[root@5051k8s-master pki]# kubectl describe svc kubernetes Name: kubernetes Namespace: default Labels: component=apiserver provider=kubernetes Annotations: <none> Selector: <none> Type: ClusterIP IP: 10.96.0.1 Port: https 443/TCP TargetPort: 6443/TCP Endpoints: 10.50.80.50:6443,10.50.80.52:6443 Session Affinity: None Events: <none>
Grisha
оО заебок
Grisha
на том который удалил:)
Grisha
конечно нет)
Grisha
[root@5050k8s-master pki]# kubectl describe svc kubernetes Name: kubernetes Namespace: default Labels: component=apiserver provider=kubernetes Annotations: <none> Selector: <none> Type: ClusterIP IP: 10.96.0.1 Port: https 443/TCP TargetPort: 6443/TCP Endpoints: 10.50.80.50:6443,10.50.80.51:6443,10.50.80.52:6443 Session Affinity: None Events: <none>
Grisha
все на месте
Vadim
И что это значит для CRI-O?
больше внимания и фиксов, предполагаю
Grisha
coredns-fb8b8dccf-gzdrh 1/1 Running 1 13m 10.244.3.54 5100k8s-worker <none> <none> coredns-fb8b8dccf-h5r7w 0/1 Error 45 12d <none> 5050k8s-master <none> <none> coredns-fb8b8dccf-xj28p 1/1 Running 45 6d5h 10.244.5.42 5102k8s-worker <none> <none>
Grisha
вот теперь и dns не крашится
Denis
Спасибо))
ca.crt руками как-то скопировал?
Denis
ага
Потом попробовал заново kubeadm init phase upload-certs —experimental-upload-certs ?