1、gitlab安装

//参考GitLab cloud native Helm Chart | GitLab

gitlab使用helm安装,完全按照官网的执行步骤,我没有成功,不知什么原因。又参考了其他的配置资料最终安装上了。现把过程记录下来,分享给大家。

前面都和官网步骤一致,只是配置values文件的时候有些区别。

helm repo add gitlab https://charts.gitlab.io/
helm repo update
# helm get values gitlab > gitlab.yaml //这一步我没有执行成功,所以接下来是按照自己的步骤安装了
helm search repo gitlab
helm pull gitlab/gitlab //我这里下载的是下面这个版本
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
gitlab/gitlab                   5.1.3           14.1.3          Web-based Git-repository manager with wiki and ...
//这是一个比较复杂的版本!

//首先创建namespace
kubectl create ns gitlab

下载到本地后解压,然后修改里面的values.yaml配置文件

a、修改hosts: domain: 为自己的一级域名(shell.com)

b、修改ingress,因为我在安装过程中默认的nginx-ingress controller下载异常,所以我的gitlab就没用nginx-ingress,而是用的之前安装的traefik。这里设置如下

 ingress:
    configureCertmanager: true
    provider: traefik
    annotations:
      kubernetes.io/ingress.class: "traefik"
    enabled: true
    tls:
      enabled: true
      secretName: ingress-cert
    path: /
    pathType: Prefix

其中设置secretName是为了https访问,因为系统整个架构使用Rustful体系,子系统间API的调用都是使用的https,如果不设置tls话,会出现部分pod启动不起来,或者出现页面打开异常的问题。

ingress-cert是提前部署到gitlab名字空间的secret资源,其证书是针对shell.com域名签证的。

kubectl create secret generic ingress-cert \
        --from-file=ca.crt \
        --from-file=tls.crt \
        --from-file=tls.key \
        --type=kubernetes.io/tls -n gitlab

把nginx-ingress关闭,enable:false

c、设置certmanager-issuer:  email: 设置为能使用的邮箱地址

然后就是配置子系统了,我在这个全局配置文件中没有找到相关配置项,于是就在charts里修改了

a、设置存储配置

gitlab安装过程中有4个软件需要设置存储,分别是:prometheus、 minio、redis、postgresql

在values.yaml同级目录有1个charts文件夹,里面就是子系统的项目目录,每个子系统里面也都有values.yaml文件,配置相应文件。

在配置文件里找到persistentVolume:storageClass: 其值设置为可以使用sc资源名字。这里使用的ceph存储,其值设置为"ceph-gitlab-rbd”。注意配置文件中的storageClass:项也许不止一个,有的配置文件在文件头部有全局变量设置,也是storageClass:的设置,全局变量设置后,下面可以不做设置,如果没有,文件中所有storageClass:都需要设置。

b、设置gitlab-runner

在gitlab-runner的values.yaml配置文件中,找到privileged设置为true

找到tls项设置secretName

配置完毕,开始安装。

//在values.yaml的上级目录

helm install gitllab gitlab -n gitlab

这个过程有点长。如果没有报错就说明安装成功。

初始用户名密码获取,登录后记着先要修改密码。

//用户名是root
//密码:
kubectl get secret gitlab-gitlab-initial-root-password -n gitlab -ojsonpath='{.data.password}' | base64 --decode ; echo

2、安装harbor

helm repo add harbor https://helm.goharbor.io
helm repo update
helm pull harbor/harbor

修改values.yaml文件

这里修改和gitlab类似,主要是设置hosts、secretName、storageClass 3项配置项的值。在此不做赘述。

安装: helm install harbor harbor -n harbor

初始用户名:admin

密码:Harbor12345

harbor必须设置tls因为它是通过https登录的,否则登录不进去系统。

参考//Harbor docs | Deploying Harbor with High Availability via Helm

3、安装jenkins

//参考https://www.jenkins.io/doc/book/installing/kubernetes/

helm repo add jenkinsci https://charts.jenkins.io
helm repo update
helm pull jenkinsci/jenkins

修改values.yaml。修改内容和上述软件类似。

安装: helm install  jenkins jenkins -n jenkins

初始用户名:admin

密码:

kubectl exec --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/chart-admin-password && ech

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐