Gitlab
公式には、すぐにインストールする方法ヘルムKubernetesクラスタを提供しますが、チャートパックヘルムを使用するプロセスが存在し、他の多くの追加の設定があるので、私たちはここに?自分自身である、カスタムインストールを使用していリソースマニフェストファイルを定義します。
Gitlab
主に3つのアプリケーションに関連する:Redisのは、PostgreSQLは、Gitlabコアプログラムは、実際には、私たちはこれらの3つのアプリケーションが起動され、その後、Gitlab、私たちはここにミラーを使用することを選択し、対応する設定を簡単にインストールすることができます追加しますか?公式ではないが、サードパーティ製の画像の非常に大きな数で使用されるコンテナのGitlab:sameersbn/gitlab
基本的には同期更新と公式アドレス:http://www.damagehead.com/docker-gitlab/
我々はRedisのか、PostgreSQLがサービスを利用することができます持っている場合は、直接配置Gitlab環境変数は、単一のデプロイメントでない場合はすることができます。
次のように最初に展開Redisのサービスは、対応するリソースマニフェストファイルを必要とします:(gitlab-redis.yaml)
apiVersion: apps/v1beta1
kind: Deployment
metadata: name: redis namespace: kube-ops labels: name: redis spec: template: metadata: name: redis labels: name: redis spec: containers: - name: redis image: sameersbn/redis imagePullPolicy: IfNotPresent ports: - name: redis containerPort: 6379 volumeMounts: - mountPath: /var/lib/redis name: data livenessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 30 timeoutSeconds: 5 readinessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 5 timeoutSeconds: 1 volumes: - name: data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: redis namespace: kube-ops labels: name: redis spec: ports: - name: redis port: 6379 targetPort: redis selector: name: redis
その後、リソースマニフェストファイルを対応するデータベースPostgreSQLは、次のように:(gitlab-postgresql.yaml)
apiVersion: apps/v1beta1
kind: Deployment
metadata: name: postgresql namespace: kube-ops labels: name: postgresql spec: template: metadata: name: postgresql labels: name: postgresql spec: containers: - name: postgresql image: sameersbn/postgresql:10 imagePullPolicy: IfNotPresent env: - name: DB_USER value: gitlab - name: DB_PASS value: passw0rd - name: DB_NAME value: gitlab_production - name: DB_EXTENSION value: pg_trgm ports: - name: postgres containerPort: 5432 volumeMounts: - mountPath: /var/lib/postgresql name: data livenessProbe: exec: command: - pg_isready - -h - localhost - -U - postgres initialDelaySeconds: 30 timeoutSeconds: 5 readinessProbe: exec: command: - pg_isready - -h - localhost - -U - postgres initialDelaySeconds: 5 timeoutSeconds: 1 volumes: - name: data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: postgresql namespace: kube-ops labels: name: postgresql spec: ports: - name: postgres port: 5432 targetPort: postgres selector: name: postgresql
?そして、私たちのGitlabアプリケーションの中核である、として対応するリソースマニフェストファイルは、以下:(gitlab.yaml)
apiVersion: apps/v1beta1
kind: Deployment
metadata: name: gitlab namespace: kube-ops labels: name: gitlab spec: template: metadata: name: gitlab labels: name: gitlab spec: containers: - name: gitlab image: sameersbn/gitlab:11.8.1 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: admin321 - name: GITLAB_ROOT_EMAIL value: [email protected] - name: GITLAB_HOST value: git.qikqiak.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: DB_TYPE value: postgres - name: DB_HOST value: postgresql - name: DB_PORT value: "5432" - name: DB_USER value: gitlab - name: DB_PASS value: passw0rd - name: DB_NAME value: gitlab_production - name: REDIS_HOST value: redis - name: REDIS_PORT value: "6379" ports: - name: http containerPort: 80 - name: ssh containerPort: 22 volumeMounts: - mountPath: /home/git/data name: data livenessProbe: httpGet: path: / port: 80 initialDelaySeconds: 180 timeoutSeconds: 5 readinessProbe: httpGet: path: / port: 80 initialDelaySeconds: 5 timeoutSeconds: 1 volumes: - name: data emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: gitlab namespace: kube-ops labels: