一、已有cert-manager的时候如何配置?
1、首先需要创建一个ClusterIssuer
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
# You must replace this email address with your own.
# Let's Encrypt will use this to contact you about expiring
# certificates, and issues related to your account.
email: user@example.com
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
# Secret resource that will be used to store the account's private key.
name: example-issuer-account-key
# Add a single challenge solver, HTTP01 using nginx
#注意:
email:对应gitlab文档中提到的。
--set certmanager-issuer.email=you@example.com
privateKeySecretRef: <secret-name>
只需要输入一个名称,他会自动创建一个这个名称的tls证书的secret.
二、在通过helm安装gitlab的时候的values.yaml
1.values.yaml中的几点需要注意
1.如果你自己的集群有cert-manager或者Prometheus,则需要将instll改为false.
不然安装会报错。
2.安装执行的cli命令需要注意
1.需要加--namespace,不然他会默认安装在default 的命名空间下,后期管理非常麻烦。
2.如果你是通过ingress发布你的gitlab-web,那么不需要安装官方的命令安装。
helm upgrade --install gitlab gitlab-jh/gitlab --namespace gitlab --set global.hosts.domain=gitlab.my.com --set certmanager-issuer.email=ca@gitlab.com -f ./values.yaml
只需要
--set global.hosts.domain=gitlab.my.com \
--set certmanager-issuer.email=ca@gitlab.com
即可。
3.还有一点你如果你在修改values.yaml的domain时,要注意。
他默认会添加一个gitlab的前缀,非常烦。我以为我的ingress的域名为gitlab.my.com,结果自动的为gitlab.gitlab.my.com.