Ошибка при попытке запуска init kubeadm на Centos 7 - PullRequest
0 голосов
/ 28 июня 2019

Я новичок в kubeletes и не могу запустить "kubeadm init" с успехом.

Позвольте мне показать вам шаг за шагом, что я сделал:

  1. Я установил докеры последней версии, используя 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).

  2. Я отключил SELINUXTYPE, отключил Swap с помощью команды "swapoff -a" и прокомментировал "# / dev / mapper / centos-swap swap swap defaults 0 0" в /etc/fstab.

  3. Я использовал "modprobe br_netfilter" и "echo '1'> / proc / sys / net / bridge / bridge-nf-call-iptables" для активации модуля под названием "br_netfilter".

  4. Файл "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
    
  5. Открытые порты:

     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
    
  6. Я создал файл «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
    
  7. Перезагрузка и включение служб:

     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

Заранее спасибо за помощь.

С наилучшими пожеланиями.

1 Ответ

1 голос
/ 28 июня 2019

пожалуйста, отключите ваш своп

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 раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...