helm 安装
helm 更新gitlab源
# 添加源
helm repo add gitlab-jh https://charts.gitlab.cn
helm repo update
下载helm包并修改
# 下载
helm pull gitlab-jh/gitlab --version=5.6.2
# 解压
tar xf gitlab-5.6.2.tgz && cd gitlab
# 修改values.yaml文件[以下仅为需要修改的部分,其余不变]
vim values.yaml
global:
hosts:
domain: beyourself.com
https: false
tls:
enabled: false
ingress:
tls:
enabled: false
nginx-ingress:
service:
type: NodePort
prometheus:
install: false
certmanager-issuer:
email: newrain_wang@163.com
vim charts/nginx-ingress/values.yaml
controller:
service:
#type: LoadBalancer
type: NodePort
nodePorts:
http: 32080
https: 32443
tcp:
8080: 32808
部署pv
# mkdir -pv /data/gitlab/{gitaly,minio,postgresql,redis}
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-gitaly
labels:
app: gitlab
component: gitaly
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.96.134
path: /data/gitlab/gitaly
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-minio
labels:
app: gitlab
component: minio
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.96.134
path: /data/gitlab/minio
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-postgresql
labels:
app: gitlab
component: postgresql
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.96.134
path: /data/gitlab/postgresql
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: gitlab-redis
labels:
app: gitlab
component: redis
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
server: 192.168.96.134
path: /data/gitlab/redis
kubectl apply -f gitlab_pv.yaml
执行部署
helm install gitlab ./gitlab --namespace=gitlab --create-namespace
kubectl get pod
# 等待所有容器启动,可能会比较久
[root@k8s-master opt]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
gitlab-certmanager ClusterIP 10.110.33.220 <none> 9402/TCP 3m2s
gitlab-certmanager-webhook ClusterIP 10.96.120.173 <none> 443/TCP 3m1s
gitlab-gitaly ClusterIP None <none> 8075/TCP 3m2s
gitlab-gitlab-exporter ClusterIP 10.96.164.124 <none> 9168/TCP 3m2s
gitlab-gitlab-shell ClusterIP 10.106.45.122 <none> 22/TCP 3m2s
gitlab-minio-svc ClusterIP 10.105.202.254 <none> 9000/TCP 3m2s
gitlab-nginx-ingress-controller NodePort 10.103.46.12 <none> 80:31387/TCP,443:31925/TCP,22:30004/TCP 3m1s
gitlab-nginx-ingress-controller-metrics ClusterIP 10.99.28.1 <none> 10254/TCP 3m1s
gitlab-nginx-ingress-defaultbackend ClusterIP 10.98.244.140 <none> 80/TCP 3m1s
gitlab-postgresql ClusterIP 10.101.240.207 <none> 5432/TCP 3m2s
gitlab-postgresql-headless ClusterIP None <none> 5432/TCP 3m2s
gitlab-postgresql-metrics ClusterIP 10.97.182.30 <none> 9187/TCP 3m1s
gitlab-prometheus-server ClusterIP 10.99.96.207 <none> 80/TCP 3m2s
gitlab-redis-headless ClusterIP None <none> 6379/TCP 3m2s
gitlab-redis-master ClusterIP 10.111.165.249 <none> 6379/TCP 3m2s
gitlab-redis-metrics ClusterIP 10.101.18.193 <none> 9121/TCP 3m2s
gitlab-registry ClusterIP 10.110.207.6 <none> 5000/TCP 3m2s
gitlab-webservice-default ClusterIP 10.96.75.143 <none> 8080/TCP,8181/TCP 3m1s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 21d
访问
# 需要先在访问端做本地解析
http://gitlab.beyourself.com:32080
# 默认账号: root
# 默认密码:kubectl get secret gitlab-gitlab-initial-root-password -o jsonpath={.data.password} | base64 -d
gitlab 运行runner
# 修改内容即可
values.yaml
global:
runner:
registrationToken: {}
secret: gitlab-gitlab-runner-secret
gitlab-runner:
install: true
rbac:
create: true
runners:
config: |
[[runners]]
[runners.kubernetes]
image = "ubuntu:18.04"
dns_policy = "none"
[runners.kubernetes.dns_config]
nameservers = ["8.8.8.8"]
privileged: true
podAnnotations:
gitlab.com/prometheus_scrape: "true"
gitlab.com/prometheus_port: 9252
# 修改内容即可
charts/gitlab-runner/values.yaml
gitlabUrl: http://gitlab-webservice-default.gitlab.svc:8080/
# 生成secret <name> 修改为namespace名称
kubectl create secret generic <name>-gitlab-runner-secret --from-literal=runner-registration-token=$(head -c 512 /dev/urandom | LC_CTYPE=C tr -cd 'a-zA-Z0-9' | head -c 64)
# 更新helm
helm upgrade gitlab ./ --namespace=gitlab
Comments | NOTHING