docker - Kubernetes 命令未在 Jenkins 容器内运行
问题描述
在此处输入图像描述我已成功在 k8s 集群内部署了 Jenkins 容器,但我无法执行“kubectl get pod -A”,因为 kubectl 也安装在 Jenkins 容器内。如何在 Jenkins 容器中运行 k8s 命令,以便能够为 k8s 应用 CI/CD。以下是我在 k8s pod 内运行的 Jenkins 容器内运行 k8s 命令时出现的错误。
解决方案
您需要为服务帐户 jenkins 创建集群角色绑定。
- 创建一个名为 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
- 使用命令创建角色绑定。
kubectl apply -f sa.yaml
推荐阅读
- javascript - 如何在控制台中打印值而不传递任何函数?
- maven - Maven给出编译错误:引用的jar包不存在
- python - 如何裁剪轮廓的内部?
- python - 使用 Windows CMD 从下载的文件夹安装依赖项
- javascript - 如何在 reactstrap 中垂直而不是水平设置卡片样式
- google-contacts-api - 创建谷歌联系人而不复制他们
- laravel - 无法在 Plesk 服务器中使用 laravel smtp 发送邮件
- angular - 数字输入总是触发更改事件
- redis - Redis 从站没有响应数据
- c# - 如何优化代码以编写超过 140 万行的数据