1

我正在使用Gitlab helm chart在我的集群上安装 Gitlab。我想设置 initialRootPassword 以便无需执行 kubectl get secret 即可登录

  ## Initial root password for this GitLab installation
  ## Secret created according to doc/installation/secrets.md#initial-root-password
  ## If allowing shared-secrets generation, this is OPTIONAL.  
  initialRootPassword: {}
    # secret: RELEASE-gitlab-initial-root-password
    # key: password

上面的块有点混乱。你能帮我解决这个问题吗?谢谢。

4

1 回答 1

2

initialRootPassword 指的是 kubernetes 中的secret对象,因此您必须首先在与您的 gitlab 实例相同的命名空间中创建一个 secret,然后将 initialRootPassword 指向它。

例如,如果您希望root密码为“密码”,首先您需要对其进行base64编码

$ echo -n "password"|base64
cGFzc3dvcmQ=

然后添加到kubernetes

# secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: gitlab-root-password
data:
  password: cGFzc3dvcmQ=
kubectl apply -f secret.yaml

还有其他方法可以创建秘密,有关更多信息,请参阅文档

然后您可以设置 initialRootPassword

initialRootPassword:
    secret: gitlab-root-password
    key: password

这里的key指的是secret对象中数据key的名称。

另一种方法是使用 Gitlab默认值,它允许您创建一个将自动使用的秘密对象,而无需显式设置 initialRootPassword

此示例取自gitlab 文档(替换<name>为版本名称)。

kubectl create secret generic <name>-gitlab-initial-root-password --from-literal=password=$(head -c 512 /dev/urandom | LC_CTYPE=C tr -cd 'a-zA-Z0-9' | head -c 32)
于 2021-01-13T06:14:57.547 回答