由于mac上的权限,无法在Minikube上使用Helm安装Jenkins



我尝试按照这篇文章在minikube上安装jenkinshttps://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

还尝试为volume live/Volumes/data使用不同的目录,并为其添加777权限。

这里有几个潜力,但有一个解决方案不切换到runAsUser 0(破坏安全评估)。

文件夹/data/jenkins-volume是在默认情况下以root身份创建的,权限设置为755,所以你不能在这个目录下创建持久数据。

  • 要解决这个问题,使用$ minikube ssh进入minikube并运行:$ chown 1000:1000 /data/jenkins-volume

当你在基于RHEL的操作系统上运行Kubernetes时,另一件可能会让你感到困扰的事情(在修复文件夹权限之后)是SELinux策略。

  • 修改$ chcon -R -t svirt_sandbox_file_t /data/jenkins-volume

已解析

我只是把runAsUser设置为0。

runAsUser to 0在任何地方都可以工作,但由于潜在的安全问题,这不是理想的解决方案。

最新更新