kubernetes - 无法连接到 AWS 虚拟机上的 Kubernetes api

标签 kubernetes kubeadm

我已经使用链接 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上没有 如何更改端口以及如何解决问题?

任何帮助都会很有用

提前致谢。

最佳答案

看起来您的最后一个 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以下是如何使用命令行管理配置文件的一些示例。

关于kubernetes - 无法连接到 AWS 虚拟机上的 Kubernetes api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50941629/

相关文章:

kubernetes - 使用稳定的 Helm 图在kubernetes中安装cert-manager后无法对证书执行描述

docker - 如何在Kubernetes集群中找到Pod之间的相互依赖关系?

ssl - 如何检查 kubernetes token 和证书 key 是否过期?

kubernetes - 使用kubeadm部署kubernetes

Kubernetes:kubeadm 加入主节点失败

kubernetes - 使用kubeadm时如何与管理员用户进行身份验证?

kubernetes - Kubernetes更改滚动更新逻辑

docker - 使用Docker镜像进行Kubernetes部署

apache-spark - Spark Kubernetes

kubernetes - 加入 x509 : certificate has expired or is not yet valid