Я новичок в kubeletes и не могу запустить "kubeadm init" с успехом.
Позвольте мне показать вам шаг за шагом, что я сделал:
Я установил докеры последней версии, используя yum, следуя документации докеров (Я настроил 'Environment = "HTTP_PROXY = http://usuario:password@proxy:port/"" HTTPS_PROXY = http://usuario:password@proxy:port/"' в /etc/systemd/system/docker.service.d/http-proxy.conf).
Я отключил SELINUXTYPE, отключил Swap с помощью команды "swapoff -a" и прокомментировал "# / dev / mapper / centos-swap swap swap defaults 0 0" в /etc/fstab.
Я использовал "modprobe br_netfilter" и "echo '1'> / proc / sys / net / bridge / bridge-nf-call-iptables" для активации модуля под названием "br_netfilter".
Файл "kubernetes.repo" для установки "kubelet kubeadm kubectl" с использованием yum:
[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Открытые порты:
firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=2379-2380/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10251/tcp firewall-cmd --permanent --add-port=10252/tcp firewall-cmd --permanent --add-port=10255/tcp firewall-cmd --reload
Я создал файл «10-kubeadm.conf»:
[Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml" # This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env # This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use # the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file. EnvironmentFile=-/etc/sysconfig/kubelet ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
Перезагрузка и включение служб:
systemctl daemon-reload systemctl restart docker systemctl enable docker systemctl restart kubelet systemctl enable kubelet
(обе службы со статусом: активен (работает))
Ошибка:
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s [kubelet-check] Initial timeout of 40s passed. Unfortunately, an error has occurred: timed out waiting for the condition This error is likely caused by: - The kubelet is not running - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled) If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands: - 'systemctl status kubelet' - 'journalctl -xeu kubelet' Additionally, a control plane component may have crashed or exited when started by the container runtime. To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker. Here is one example how you may list all Kubernetes containers running in docker: - 'docker ps -a | grep kube | grep -v pause' Once you have found the failing container, you can inspect its logs with: - 'docker logs CONTAINERID' error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster
Заранее спасибо за помощь.
С наилучшими пожеланиями.
пожалуйста, отключите ваш своп
swapoff -a vim /etc/fstab
прокомментируйте строку свопа, после этого установите эти пакеты
yum install -y yum-utils device-mapper-persistent-data lvm2
и добавьте репо этим
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
и выследует установить докер по этой команде
yum install -y docker-ce cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF yum install -y kubelet kubeadm kubectl
, затем перезагрузить
systemctl start docker && systemctl enable docker systemctl start kubelet && systemctl enable kubelet systemctl daemon-reload systemctl restart kubelet kubeadm init --apiserver-advertise-address=MASTER_IP --pod-network-cidr=10.244.0.0/16
без изменений 10.244.0.0/16
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Далееразверните фланелевую сеть в кластере kubernetes с помощью команды kubectl.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Я пишу полный способ запуска kubernetes, и я запускаю кластер kubernetes этой командой 1000 раз