【问题标题】:Cannot connect to Kubernetes api on AWS vm's无法连接到 AWS vm 上的 Kubernetes api
【发布时间】:2018-11-29 04:45:16
【问题描述】:

我已经使用链接Kubernetes official page部署了 Kubernetes

我看到部署了 Kubernetes,因为最后我得到了这个

Your Kubernetes master has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

You can now join any number of machines by running the following on each node
as root:

  kubeadm join 172.16.32.101:6443 --token ma1d4q.qemewtyhkjhe1u9f --discovery-token-ca-cert-hash sha256:408b1fdf7a5ea5f282741db91ebc5aa2823802056ea9da843b8ff52b1daff240

当我做 kubectl get pods 时,它会解决这个错误

# kubectl get pods 
The connection to the server 127.0.0.1:6553 was refused - did you specify the right host or port?

当我看到集群信息时,它显示如下

kubectl cluster-info 
Kubernetes master is running at https://127.0.0.1:6553

但是当我看到配置时它显示如下

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EWXlNREEyTURJd04xb1hEVEk0TURZeE56QTJNREl3TjFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT0ZXCkxWQkJoWmZCQms4bXJrV0w2MmFGd2U0cUYvZkRHekJidnE5TFpGN3M4UW1rdDJVUlo5YmtSdWxzSlBrUXV1U2IKKy93YWRoM054S0JTQUkrTDIrUXdyaDVLSy9lU0pvbjl5TXJlWnhmRFdPTno2Y3c4K2txdnh5akVsRUdvSEhPYQpjZHpuZnJHSXVZS3lwcm1GOEIybys0VW9ldytWVUsxRG5Ra3ZwSUZmZ1VjVWF4UjVMYTVzY2ZLNFpweTU2UE4wCjh1ZjdHSkhJZFhNdXlVZVpFT3Z3ay9uUTM3S1NlWHVhcUlsWlFqcHQvN0RrUmFZeGdTWlBqSHd5c0tQOHMzU20KZHJoeEtyS0RPYU1Wczd5a2xSYjhzQjZOWDB6UitrTzhRNGJOUytOYVBwbXFhb3hac1lGTmhCeGJUM3BvUXhkQwpldmQyTmVlYndSWGJPV3hSVzNjQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDTFBlT0s5MUdsdFJJTjdmMWZsNmlINTg0c1UKUWhBdW1xRTJkUHFNT0ZWWkxjbDVJZlhIQ1dGeE13OEQwOG1NNTZGUTNEVDd4bi9lNk5aK1l2M1JrK2hBdmdaQgpaQk9XT3k4UFJDOVQ2S1NrYjdGTDRSWDBEamdSeE5WTFIvUHd1TUczK3V2ZFhjeXhTYVJJRUtrLzYxZjJsTGZmCjNhcTdrWkV3a05pWXMwOVh0YVZGQ21UaTd0M0xrc1NsbDZXM0NTdVlEYlRQSzJBWjUzUVhhMmxYUlZVZkhCMFEKMHVOQWE3UUtscE9GdTF2UDBDRU1GMzc4MklDa1kzMDBHZlFEWFhiODA5MXhmcytxUjFQbEhJSHZKOGRqV29jNApvdTJ1b2dHc2tGTDhGdXVFTTRYRjhSV0grZXpJRkRjV1JsZnJmVHErZ2s2aUs4dGpSTUNVc2lFNEI5QT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    **server: https://172.16.32.101:6443**

连 telnet 都显示 6443 上有进程在运行,但 6553 上没有 如何更改端口以及如何解决问题??

任何帮助都会很有用

提前致谢。

【问题讨论】:

    标签: kubernetes kubeadm


    【解决方案1】:

    您的上一个 kubectl 配置似乎干扰了之前的集群配置。

    可以将several different clusters 的设置放在一个.kube/config 或单独的文件中。
    但在某些情况下,您可能只想管理刚刚创建的集群。

    注意:使用kubeadm reset 拆除退出的集群,然后使用kubeadm init 初始化新的集群后,将生成新的证书。要运行新集群,您必须更新 kubectl 配置或将其替换为新的。

    要清理旧的kubectl 配置并应用最后一个配置,请运行以下命令:

    rm -rf $HOME/.kube
    unset KUBECONFIG
    
    # Check if you have KUBECONFIG configured in profile dot files and comment or remove it.
    
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    它为您使用 kubeadm 工具创建的最后一个集群提供了最新配置。

    注意:您应该为将用于管理集群的所有用户帐户复制 kubectl 配置。

    Here 是一些如何使用命令行管理配置文件的示例。

    【讨论】:

    • @vas 我已经尝试过了,但问题仍然存在适用于 10.96.0.1、172.16.32.101,而非 127.0.0.1
    • 文件 /etc/kubernetes/admin.conf 包含哪些设置?特别是 apiserver 的 IP 和端口有哪些?您在集群初始化期间使用了哪些选项?
    • 我可以修复它,但我现在收到此错误 #kubeadm init --pod-network-cidr=192.168.0.0/16 --service-cidr 10.96.0.0/12 --apiserver-cert- extra-sans=127.0.0.1 $ kubectl get nodes Unable to connect to server: x509: certificate signed by unknown authority 对此有什么想法吗??
    • 我没有使用 kops,我只是在尝试常规部署,但无法启动和运行这些东西。
    • 这个命令应该足以正确初始化集群:# kubeadm init --pod-network-cidr=192.168.0.0/16 ##不要忘记按照建议更新您的 .kube/config 文件通过 kubeadm。
    【解决方案2】:

    我发现问题在于机器中的防火墙,一旦我允许通过端口 6443 进行流量,我就可以将节点加入集群。我没有解决这篇文章的问题,但对于初学者来说,请使用 K8's on AWS为了更好的想法。

    感谢大家的帮助...!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多