首页 > 解决方案 > Kubernetes 命令未在 Jenkins 容器内运行

问题描述

在此处输入图像描述我已成功在 k8s 集群内部署了 Jenkins 容器,但我无法执行“kubectl get pod -A”,因为 kubectl 也安装在 Jenkins 容器内。如何在 Jenkins 容器中运行 k8s 命令,以便能够为 k8s 应用 CI/CD。以下是我在 k8s pod 内运行的 Jenkins 容器内运行 k8s 命令时出现的错误。

标签: dockerjenkinskubernetes

解决方案


您需要为服务帐户 jenkins 创建集群角色绑定。

  1. 创建一个名为 sa.yaml 的文件并在其中添加以下内容
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: jenkins-role-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: jenkins
  namespace: jenkins
  1. 使用命令创建角色绑定。
kubectl apply -f sa.yaml

推荐阅读