1

我遇到了角色和身份验证 kubernetes 的问题。我在我的裸机服务器上创建了一个单节点(一个 maser)集群,并让这个集群在与默认不同的 IP 上侦听(使用选项“ --apiserver-advertise-address= ip address ”)。但是现在我基本上什么都做不了,因为kubectl不起作用。我无法创建我需要的 pod 和服务。当我创建集群时,没有这个 IP changinh,它可以工作。所以我的问题是如何解决这个问题?这可能是授权问题,但由于以下错误,我什至无法创建集群角色或集群角色绑定:” 错误:未能创建集群角色绑定:集群角色绑定.rbac.authorization.k8s.io 被禁止:用户“system:node:e4-1”无法在 API 组“rbac.authorization.k8s.io”中创建资源“clusterrolebindings”集群范围” ...有没有办法以管理员身份“登录”,或者有什么方法可以更改配置文件中的某些内容来解决这个问题?

4

1 回答 1

0

根据您提到的标志,我假设您正在使用kubeadm它来创建集群。最可能的原因是您使用了错误的.conf文件。我的怀疑是您使用的是kubelet.conf而不是admin.conf.

kubeadm init您可以在下面找到输出示例。它包含开始使用时需要遵循的步骤kubectl

Your Kubernetes control-plane 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:
  /docs/concepts/cluster-administration/addons/

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

  kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

如您所见,其中一个命令是将文件复制admin.conf/.kube/config该文件中,然后kubectl用于管理集群。

于 2021-03-09T08:35:33.380 回答