How to fix error: User cannot get resource "deployments" in API group "apps" in the namespace "default"?
How to fix error: User cannot get resource "deployments" in API group "apps" in the namespace "default"?
我在角色和身份验证 kubernetes 方面遇到了问题。我在我的裸机服务器上创建了一个单节点(一个 maser)集群,我让这个集群监听与默认不同的 IP(带有选项“--apiserver-advertise-address= ip 地址”)。但是现在我基本上无能为力了,因为 kubectl 不起作用。我无法创建 pods 和我需要的服务。当我创建集群时,没有这个 IP changinh,它可以工作。所以我的问题是如何解决这个问题?这可能是一个授权问题,但我什至无法创建集群角色或集群角色绑定,因为这样的错误:”错误:创建集群角色绑定失败:clusterrolebindings.rbac.authorization.k8s.io被禁止:用户“system:node:e4-1”无法在 API 组“rbac.authorization.k8s.io”中在集群范围内创建资源“clusterrolebindings”。 .. 有没有办法以管理员身份“登录”或其他方式,或者有没有办法更改配置文件中的内容来解决这个问题?
根据您提到的标志,我假设您正在使用 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
用于管理集群。
我在角色和身份验证 kubernetes 方面遇到了问题。我在我的裸机服务器上创建了一个单节点(一个 maser)集群,我让这个集群监听与默认不同的 IP(带有选项“--apiserver-advertise-address= ip 地址”)。但是现在我基本上无能为力了,因为 kubectl 不起作用。我无法创建 pods 和我需要的服务。当我创建集群时,没有这个 IP changinh,它可以工作。所以我的问题是如何解决这个问题?这可能是一个授权问题,但我什至无法创建集群角色或集群角色绑定,因为这样的错误:”错误:创建集群角色绑定失败:clusterrolebindings.rbac.authorization.k8s.io被禁止:用户“system:node:e4-1”无法在 API 组“rbac.authorization.k8s.io”中在集群范围内创建资源“clusterrolebindings”。 .. 有没有办法以管理员身份“登录”或其他方式,或者有没有办法更改配置文件中的内容来解决这个问题?
根据您提到的标志,我假设您正在使用 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
用于管理集群。