如何解决由于 mac 上的权限,无法使用 Helm 在 Minikube 上安装 Jenkins
我尝试根据这篇文章在 minikube 上安装 jenkins https://www.jenkins.io/doc/book/installing/kubernetes/
当我输入 kubectl logs pod/jenkins-0 init -n jenkins
我得到
disable Setup Wizard
/var/jenkins_config/apply_config.sh: 4: /var/jenkins_config/apply_config.sh: cannot create /var/jenkins_home/jenkins.install.UpgradeWizard.state: Permission denied
我几乎可以肯定我在 mac 上的文件系统存在一些问题。
我没有从文章中创建 serviceAccount 因为 helm 没有看到它并返回错误。
我在 jenkins-values.yaml 中更改了它
serviceAccount:
create: true
name: jenkins
annotations: {}
然后我尝试将下一个值设置为 0。它没有影响。
runAsUser: 1000
fsGroup: 1000
附加信息: kubectl get all -n jenkins
NAME READY STATUS RESTARTS AGE
pod/jenkins-0 0/2 Init:CrashLoopBackOff 7 15m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/jenkins ClusterIP 10.104.114.29 <none> 8080/TCP 15m
service/jenkins-agent ClusterIP 10.104.207.201 <none> 50000/TCP 15m
NAME READY AGE
statefulset.apps/jenkins 0/1 15m
还尝试对卷 live /Volumes/data 使用不同的目录并为其添加 777 权限。
解决方法
这里有几个潜力,但有一个解决方案,无需切换到 runAsUser 0
(这会破坏安全评估)。
默认情况下,文件夹 /data/jenkins-volume
以 root 身份创建,权限设置为 755,因此您无法使用默认的 jenkins 构建在此目录中创建持久数据。
- 要解决此问题,请使用
$ minikube ssh
输入 minikube 并运行:$ chown 1000:1000 /data/jenkins-volume
当您在基于 RHEL 的操作系统上运行 Kubernetes 时,可能会困扰您的另一件事(在修复文件夹权限之后)是 SELinux 策略。
- 要解决此问题:
$ chcon -R -t svirt_sandbox_file_t /data/jenkins-volume
已解决
我只是在任何地方将 runAsUser 设置为 0。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。