尝试在Centos 7上运行runnning kubeadm init时出错

时间:2019-06-28 08:37:27

标签: docker kubernetes centos7

我是kubeletes的新手,我无法成功运行“ kubeadm init”。

让我逐步向您展示我的所作所为:

  1. 我在码头工人文档后使用yum安装了最新版本的码头工人 (我已经在/etc/systemd/system/docker.service.d/http-proxy.conf中配置了'Environment =“ HTTP_PROXY = http://usuario:password@proxy:port/”“ HTTPS_PROXY = http://usuario:password@proxy:port/”')。

  2. 我已禁用SELINUXTYPE,使用命令“ swapoff -a”禁用了Swap,并在/ etc / fstab中注释了“#/ dev / mapper / centos-swap swap swap defaults 0 0”。

    < / li>
  3. 我使用了“ modprobe br_netfilter”和“ echo'1'> / proc / sys / net / bridge / bridge-nf-call-iptables”来激活名为“ br_netfilter”的模块。

    < / li>
  4. “ kubernetes.repo”文件以使用yum安装“ kubelet kubeadm kubectl”:

    [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 个答案:

答案 0 :(得分:1)

请禁用您的交换

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

您应该通过此命令安装docker

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

接下来,使用kubectl命令将绒布网络部署到kubernetes集群。

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

我编写了运行kubernetes的完整方法,并通过此命令运行了kubernetes集群1000次

相关问题