gpt4 book ai didi

kubernetes - 无法加入主节点 - 错误执行阶段预检 : couldn't validate the identity of the API Server

转载 作者:行者123 更新时间:2023-12-02 11:55:34 24 4
gpt4 key购买 nike

我是 k8s 的新手,所以对于具有 k8s 专业知识的人来说,这可能是一个非常简单的问题。

我正在使用两个节点

  • master - 2cpu,2 GB 内存
  • worker - 1 个 CPU,1 GB 内存
  • 操作系统-ubuntu-hashicorp/bionic64

  • 我确实成功设置了主节点,我可以看到它已启动并正在运行
    vagrant@master:~$ kubectl get nodes
    NAME STATUS ROLES AGE VERSION
    master Ready master 29m v1.18.2

    这是我生成的 token
    vagrant@master:~$ kubeadm token create --print-join-command
    W0419 13:45:52.513532 16403 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
    kubeadm join 10.0.2.15:6443 --token xuz63z.todnwgijqb3z1vhz --discovery-token-ca-cert-hash sha256:d4dadda6fa90c94eca1c8dcd3a441af24bb0727ffc45c0c27161ee8f7e883521

    问题 - 但是当我尝试从工作节点加入它时,我得到了
    vagrant@worker:~$ sudo kubeadm join 10.0.2.15:6443 --token xuz63z.todnwgijqb3z1vhz     --discovery-token-ca-cert-hash sha256:d4dadda6fa90c94eca1c8dcd3a441af24bb0727ffc45c0c27161ee8f7e883521 
    W0419 13:46:17.651819 15987 join.go:346] [preflight] WARNING: JoinControlPane.controlPlane settings will be ignored when control-plane flag is not set.
    [preflight] Running pre-flight checks
    [WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
    error execution phase preflight: couldn't validate the identity of the API Server: Get https://10.0.2.15:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s: dial tcp 10.0.2.15:6443: connect: connection refused
    To see the stack trace of this error execute with --v=5 or higher

    这是被占用的端口
    10.0.2.15:2379 
    10.0.2.15:2380
    10.0.2.15:68

    请注意,我使用的 CNI 来自 -
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

    最佳答案

    以下是我在 kubernetes 安装过程中意识到的错误 -

    (详细安装步骤如下 - Steps for Installation)

    但这里是我犯的关键错误 -

    错误 1 ​​- 由于我在 VM 上工作,所以我的两个 VM(主机和工作机)上都有多个以太网适配器。默认情况下,CNI 总是采用 eth0 但我的情况应该是 eth1

    1: lo: <LOOPBACK,UP,LOWER_UP>
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:bb:14:75 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:fb:48:77 brd ff:ff:ff:ff:ff:ff
    inet 100.0.0.1
    4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP>

    错误 2- 我初始化我的 的方式kubeadm 没有 --apiserver-advertise-address --pod-network-cidr

    所以这是我使用的 kubeadm 命令 -
    [vagrant@master ~]$ sudo kubeadm init --apiserver-advertise-address=100.0.0.1 --pod-network-cidr=10.244.0.0/16

    错误 3 - - 由于我们的虚拟机中有多个以太网适配器,所以我找不到设置额外参数以从 切换的方法eth0 eth1 calico.yml 配置。

    所以我用了 法兰绒CNI*
    [vagrant@master ~]$ wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    并在 args 部分添加 - --iface=eth1
    - --iface=eth1
    args:
    - --ip-masq
    - --kube-subnet-mgr
    - --iface=eth1

    在那之后它起作用了

    关于kubernetes - 无法加入主节点 - 错误执行阶段预检 : couldn't validate the identity of the API Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61305498/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com