helm 安装gitlab 并让gitlab 持久化
时间: 2023-10-24 10:24:28 浏览: 46
1. 创建一个 Kubernetes 集群并安装 Helm
2. 添加 GitLab 的 Helm 仓库
```
helm repo add gitlab https://charts.gitlab.io/
helm repo update
```
3. 创建一个用于 GitLab 的命名空间
```
kubectl create namespace gitlab
```
4. 安装 GitLab
```
helm install gitlab gitlab/gitlab \
--namespace gitlab \
--set global.edition=ce \
--set global.hosts.domain=example.com \
--set certmanager.install=false \
--set nginx-ingress.enabled=false \
--set gitlab-runner.install=false \
--set gitlab.webservice.externalTrafficPolicy=Local \
--set gitlab.webservice.loadBalancerIP=<loadBalancerIP> \
--set gitlab.webservice.externalIPs=<externalIPs> \
--set gitlab.webservice.type=LoadBalancer \
--set gitlab.persistence.enabled=true \
--set gitlab.persistence.storageClass=<storageClass> \
--set gitlab.persistence.size=<storageSize>
```
其中:
- `--set global.edition=ce`:指定使用 GitLab Community Edition 版本
- `--set global.hosts.domain=example.com`:指定 GitLab 的域名
- `--set certmanager.install=false`:不安装 cert-manager
- `--set nginx-ingress.enabled=false`:不安装 Nginx Ingress Controller
- `--set gitlab-runner.install=false`:不安装 GitLab Runner
- `--set gitlab.webservice.externalTrafficPolicy=Local`:指定负载均衡器类型为本地
- `--set gitlab.webservice.loadBalancerIP=<loadBalancerIP>`:指定负载均衡器的 IP 地址
- `--set gitlab.webservice.externalIPs=<externalIPs>`:指定外部 IP 地址
- `--set gitlab.webservice.type=LoadBalancer`:指定负载均衡器类型为 LoadBalancer
- `--set gitlab.persistence.enabled=true`:启用持久化存储
- `--set gitlab.persistence.storageClass=<storageClass>`:指定存储类
- `--set gitlab.persistence.size=<storageSize>`:指定存储大小
5. 等待 GitLab 安装完成后,可以通过 `kubectl get pods -n gitlab` 命令查看所有运行的 Pod。
6. 如果需要升级 GitLab,可以使用以下命令:
```
helm upgrade gitlab gitlab/gitlab \
--namespace gitlab \
--set global.edition=ce \
--set global.hosts.domain=example.com \
--set certmanager.install=false \
--set nginx-ingress.enabled=false \
--set gitlab-runner.install=false \
--set gitlab.webservice.externalTrafficPolicy=Local \
--set gitlab.webservice.loadBalancerIP=<loadBalancerIP> \
--set gitlab.webservice.externalIPs=<externalIPs> \
--set gitlab.webservice.type=LoadBalancer \
--set gitlab.persistence.enabled=true \
--set gitlab.persistence.storageClass=<storageClass> \
--set gitlab.persistence.size=<storageSize>
```
7. 如果需要卸载 GitLab,可以使用以下命令:
```
helm uninstall gitlab -n gitlab
kubectl delete namespace gitlab
```
注意:卸载 GitLab 时,需要先删除 GitLab 的命名空间。如果命名空间删除失败,可以使用以下命令:
```
kubectl delete namespace gitlab --grace-period=0 --force
```