[에 설명된 대로 Kubernetes용 haproxy'd 다중 마스터 노드 설정을 설정하려고 합니다.1]. 내 네트워크 구성은 다음과 같습니다.
- 하프록시 = 192.168.1.213
- 마스터0|1|2 = 192.168.1.210|211|212
- 작업자0|1|2 = 192.168.1.220|221|222 (현재는 흥미롭지 않음)
모든 호스트는 서로 연결할 수 있습니다(DNS는 각 노드에 대해 확인됩니다). 각 노드는 Ubuntu 18.04.3(LTS)을 실행하고 있습니다. Docker는 다음과 같이 설치됩니다.
- docker.io/bionic-updates,bionic-security,now 18.09.7-0ubuntu1~18.04.4 amd64 [설치됨]
현재 설치된 Kubernetes 패키지는
- kubeadm/kubernetes-xenial,now 1.16.3-00 amd64 [설치됨]
- kubectl/kubernetes-xenial, 이제 1.16.3-00 amd64 [설치됨]
- kubelet/kubernetes-xenial, 현재 1.16.3-00 amd64 [설치됨, 자동]
- kubernetes-cni/kubernetes-xenial, 현재 0.7.5-00 amd64 [설치됨, 자동]
[에 설명된 대로 추가 저장소를 사용하여2] (내 VM에 설치했다는 것을 알고 있지만 bionic
사용 가능한 "최신" 저장소는 여전히 입니다 xenial
).
haproxy/bionic,now 2.0.9-1ppa1~bionic amd64 [installed]
내 haproxy는 다음 과 같이 설치되었습니다 .삼] 저장소.
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
retries 2
timeout connect 3000ms
timeout client 5000ms
timeout server 5000ms
frontend kubernetes
bind *:6443
option tcplog
mode tcp
default_backend kubernetes-master-nodes
backend kubernetes-master-nodes
mode tcp
balance roundrobin
option tcp-check
server master0 192.168.1.210:6443 check fall 3 rise 2
server master1 192.168.1.211:6443 check fall 3 rise 2
server master2 192.168.1.212:6443 check fall 3 rise 2
첫 번째 제어 평면을 설정하는 동안 kubeadm init --control-plane-endpoint "haproxy.my.lan:6443" --upload-certs -v=6
[에 설명된 대로 실행됩니다.4] 다음 오류가 발생합니다.
Error writing Crisocket information for the control-plane node
전체 로그인 [5]. 내 haproxy 구성에 실수가 있거나 docker 또는 kubernetes 자체에 결함이 있는 경우 나는 꽤 길을 잃었습니다.
내 /etc/docker/daemon.json
모습은 다음과 같습니다.
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
- [1]https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/
- [2]https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-using-native-package-management
- [삼]https://launchpad.net/~vbernat/+archive/ubuntu/haproxy-2.0
- [4]https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/#stacked-control-plane-and-etcd-nodes
- [5]https://pastebin.com/QD5mbiyN
답변1
적절한 솔루션을 찾을 수 없고 github의 원래 "kubeadm" 프로젝트에서 문제를 생성했지만 여기를 참조하세요.https://github.com/kubernetes/kubeadm/issues/1930.
문제에서 제안된 "분류"는 실행 가능하지 않았기 때문에(Ubuntu는 거의 "설정"되어 있음) 여기에 설명된 대로 다른 Docker 배포판을 설정했습니다.https://docs.docker.com/install/linux/docker-ce/ubuntu/, 새 설정을 시작하기 전에 설치된 배포판을 제거합니다.
v19.03.5
kubeadm을 통해 Docker(커뮤니티)를 실행하는 동안 v1.16.3
다음 경고가 발생합니다.
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.5. Latest validated version: 18.09
결과는 꽤 괜찮습니다. 원본 문서에 설명된 대로 ha 클러스터를 설정했습니다.
따라서 이는 다음과 같이 간주될 수 있습니다.해결 방법,아니다내 원래 문제에 대한 해결책으로!