浏览器访问 输入上面配置初始root 用户密码 admin123456
标签:
Kubernetes 部署 gitlab敏捷开发和devops潮流下,gitlab的使用率直线上升,自身所带有的CI/CD工具也很齐全,深受开发人群的喜爱,我们将在kubernetes 集群环境中部署一套gitlab环境,作为代码打点和使用自动化构建部署成果,筹备在出产环境中使用
环境筹备k8s集群(阿里云专业版)
postgres 数据库
redis 缓存处事
gitlab 应用
关于postgres、redis的部署请检察之前相关部署文章
gitlab 部署版本 gitlab 中文版 11.1.4
gitlab 自己是无状态处事,但是此中的repository货仓,配置等文件需要进行长期化存储,容器目录为:
/home/git/data /etc/gitlab/ /var/opt/gitlab /var/log/gitlab 可选编写deployment 部署文件,gitlab.yaml,提前创建好pv 资源datadir-gitlab,这里使用的是阿里云的nas处事,配置gitlab时,请改削example.com 为自身域名,邮箱配置参数按实际情况进行改削,ssh端口这里袒露为nodeport类型32222,使用SLB的22端口代办代理进来。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: datadir-gitlab namespace: gitlab-cicd spec: accessModes: - ReadWriteMany storageClassName: nas resources: requests: storage: 50Gi --- apiVersion: apps/v1beta1 kind: Deployment metadata: name: gitlab namespace: gitlab-cicd labels: name: gitlab spec: replicas: 1 template: metadata: name: gitlab labels: name: gitlab spec: containers: - name: gitlab image: twang2218/gitlab-ce-zh:11.1.4 imagePullPolicy: IfNotPresent env: - name: TZ value: Asia/Shanghai - name: GITLAB_TIMEZONE value: Beijing - name: GITLAB_SECRETS_DB_KEY_BASE value: long-and-random-alpha-numeric-string - name: GITLAB_SECRETS_SECRET_KEY_BASE value: long-and-random-alpha-numeric-string - name: GITLAB_SECRETS_OTP_KEY_BASE value: long-and-random-alpha-numeric-string - name: GITLAB_ROOT_PASSWORD value: admin123456 - name: GITLAB_ROOT_EMAIL value: [email protected] - name: GITLAB_HOST value: xxx.example.com - name: GITLAB_PORT value: "80" - name: GITLAB_SSH_PORT value: "22" - name: GITLAB_NOTIFY_ON_BROKEN_BUILDS value: "true" - name: GITLAB_NOTIFY_PUSHER value: "false" - name: GITLAB_BACKUP_SCHEDULE value: daily - name: GITLAB_BACKUP_TIME value: 01:00 - name: GITLAB_OMNIBUS_CONFIG value: | ## time_zone gitlab_rails['time_zone'] = 'Asia/Shanghai' ## postgres postgresql['enable'] = false gitlab_rails['db_adapter'] = "postgresql" gitlab_rails['db_encoding'] = "utf-8" gitlab_rails['db_database'] = "gitlab" gitlab_rails['db_username'] = "postgres" gitlab_rails['db_password'] = "xxx" gitlab_rails['db_host'] = "postgres-svc" gitlab_rails['db_port'] = 5432 ## redis redis['enable'] = false gitlab_rails['redis_host'] = "redis" gitlab_rails['redis_port'] = 6379 #gitlab_rails['redis_password'] = "redis_password" gitlab_rails['redis_database'] = 0 ## pages pages_external_url "" gitlab_pages['enable'] = true gitlab_rails['pages_path'] = "/var/opt/gitlab/pages" gitlab_pages['external_http'] = ['1.1.1.2:80'] #gitlab_pages['access_control'] = true ## gitlab ssh,http克隆地点,默认为hostname external_url "" ## email setting gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "[email protected]" gitlab_rails['smtp_password'] = "xxx" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = '[email protected]' gitlab_rails['smtp_domain'] = "smtp.qq.com" postgresql['enable'] = false postgres_exporter['enable'] = false redis['enable'] = false prometheus['enable'] = false alertmanager['enable'] = false node_exporter['enable'] = false redis_exporter['enable'] = false prometheus_monitoring['enable'] = false ports: - name: http containerPort: 80 - name: ssh containerPort: 22 volumeMounts: - mountPath: /home/git/data name: data - mountPath: /etc/gitlab name: etc-gitlab - mountPath: /var/opt/gitlab name: opt-gitlab livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 900 timeoutSeconds: 5 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 5 timeoutSeconds: 1 volumes: - name: data persistentVolumeClaim: claimName: datadir-gitlab - name: etc-gitlab persistentVolumeClaim: claimName: etc-gitlab - name: opt-gitlab persistentVolumeClaim: claimName: opt-gitlab --- apiVersion: v1 kind: Service metadata: name: gitlab namespace: gitlab-cicd labels: name: gitlab spec: type: NodePort ports: - name: http port: 80 targetPort: http - name: ssh port: 22 targetPort: ssh nodePort: 32222 selector: name: gitlab --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: gitlab namespace: gitlab-cicd annotations: nginx.ingress.kubernetes.io/affinity: "cookie" spec: rules: - host: gitlab.example.com http: paths: - backend: serviceName: gitlab servicePort: http path: /温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30170.html