用户无法获取 API 组中的资源“服务” - Jenkins 管道 EKS 部署

Gow*_*abu 4 jenkins amazon-iam jenkins-pipeline kubectl amazon-eks

我正在尝试使用 Jenkins 将我的 docker 映像部署到集群中。我的 Jenkins 应用程序正在 EC2 ubuntu 服务器中运行。最初,当我尝试时,我收到了此错误。

在此输入图像描述

我引用了这个堆栈 ,并使用以下命令将 Jenkins 用户 IAM arn 添加到 Kube 配置文件中

kubectl edit configmap aws-auth -n kube-system
Run Code Online (Sandbox Code Playgroud)

当我运行管道时更新配置文件后,我收到这个新错误 在此输入图像描述

我的问题是,

  1. 这个 Jenkins 用户是管理员用户,那么为什么我会收到此访问控制错误?

请在这件事上给予我帮助?

jt9*_*t97 7

正如评论中提到的

\n

服务帐户jenkins 没有列出 pod kube-system 的权限。您必须创建ClusterRoleBindingClusterRole才能使其正常工作。

\n

您可以使用kubectl create来做到这一点,就像上面@Gowtham Babu 的答案一样。

\n

下面的中等教程中有一个示例

\n
\n

此外,当 rbac 设置为 true 时,必须执行以下操作才能允许 jenkins pod 访问 kubernetes 集群的 \xe2\x80\x9ckube-system\xe2\x80\x9d 命名空间。

\n

创建具有权限 \xe2\x80\x9ccluster-admin\xe2\x80\x9d 的集群角色绑定,

\n
\n
kubectl create clusterrolebinding jenkinsrolebinding - -clusterrole=cluster-admin - - group=system:serviceaccounts:jenkins\n
Run Code Online (Sandbox Code Playgroud)\n

其他资源:

\n\n