K8s上安装gitlab-ce

K8s上安装gitlab-ce

前言
  使用pv-pvc来持久化gitlab的数据,配置,日志文件。
  pod启动后需要需要修改external_url然后重启pod。

操作如下

mkdir -p /mnt/data01/gitlab
ctr -n k8s.io i pull docker.io/gitlab/gitlab-ce:latest
kubectl label node [node_name] app=devops
kubectl apply -f gitlab-deployment.yml

如果镜像拉取不下来,可以

wget -c http://117.72.10.233/file/gitlab-ce.tgz
ctr -n k8s.io i import gitlab-ce.tgz

Pod起来之后,修改 /mnt/data01/gitlab/conf/gitlab.rb 文件,修改配置然后重启Pod

cat >> /mnt/data01/gitlab/conf/gitlab.rb << 'eof'
external_url 'http://123.60.108.111:30080'  ## ip需要修改为访问地址
gitlab_rails['gitlab_ssh_host'] = '123.60.108.111'  ## ip需要修改为访问地址
gitlab_rails['gitlab_shell_ssh_port'] = 30022
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1391578633@qq.com"
gitlab_rails['smtp_password'] = "yasfadsfafddfdj"  ## 密码为qq的smtp授权码
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '1391578633@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['gitlab_email_reply_to'] = '1391578633@qq.com'
gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'
eof
kubectl get pods -n devops
kubectl delete pod [上面的gitlab的podname] -n devops

在这里插入图片描述
在这里插入图片描述
最后浏览器访问ip:30080即可访问gitlab,账号是root,密码是初始密码执行grep 'Password' /mnt/data01/gitlab/conf/initial_root_password

在这里插入图片描述

gitlab-deployment.yml

apiVersion: v1
kind: Namespace
metadata:
  name: devops
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: gitlab-pv
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 50Gi
  storageClassName: gitlab-ce
  hostPath:
    path: /mnt/data01/gitlab
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gitlab-pvc
  namespace: devops
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
    limits:
      storage: 50Gi
  storageClassName: gitlab-ce
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitlab-deployment
  namespace: devops
spec:
  replicas: 1
  selector:
    matchLabels:
      app: gitlab-ce
  template:
    metadata:
      labels:
        app: gitlab-ce
    spec:
      nodeSelector:
        app: devops
      containers:
      - name: gitlab-ce
        image: docker.io/gitlab/gitlab-ce:latest
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: gen-dir
          mountPath: /var/opt/gitlab
          subPath: data
        - name: gen-dir
          mountPath: /etc/gitlab
          subPath: conf
        - name: gen-dir
          mountPath: /var/log/gitlab
          subPath: logs
        - name: localtime
          mountPath: /etc/localtime
      volumes:
      - name: gen-dir
        persistentVolumeClaim:
          claimName: gitlab-pvc
      - name: localtime
        hostPath:
          path: /etc/localtime
---
apiVersion: v1
kind: Service
metadata:
  name: gitlab-svc
  namespace: devops
spec:
  ports:
  - name: http
    port: 30080
    targetPort: 30080
    nodePort: 30080
  - name: https
    port: 443
    targetPort: 443
    nodePort: 30443
  - name: ssh
    port: 22
    targetPort: 22
    nodePort: 30022
  type: NodePort
  selector:
    app: gitlab-ce
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Kubernetes集群中安装GitLab Runner,需要执行以下步骤: 1. 创建一个Kubernetes命名空间,用于存储所有与GitLab Runner相关的对象: ``` kubectl create namespace gitlab-runner ``` 2. 在Kubernetes集群中部署GitLab Runner: 在GitLab Runner官网上下载Kubernetes安装脚本,并执行以下命令: ``` export GITLAB_RUNNER_NAME="runner-name" export GITLAB_URL="https://gitlab.example.com/" export REGISTRATION_TOKEN="registration-token" curl -L https://raw.githubusercontent.com/gitlabhq/gitlab-runner/master/docs/install/kubernetes/install.sh | \ bash -s -- register \ --non-interactive \ --url $GITLAB_URL \ --registration-token $REGISTRATION_TOKEN \ --name $GITLAB_RUNNER_NAME \ --executor kubernetes \ --kubernetes-namespace gitlab-runner \ --kubernetes-image alpine:latest \ --kubernetes-privileged \ --kubernetes-pull-policy if-not-present \ --kubernetes-service-account $SERVICE_ACCOUNT_NAME ``` 其中,需要将`GITLAB_RUNNER_NAME`、`GITLAB_URL`和`REGISTRATION_TOKEN`替换为实际的值。 3. 配置GitLab Runner的持久化存储: GitLab Runner需要一个持久化存储来存储日志、缓存和其他数据。可以使用Kubernetes的PersistentVolume和PersistentVolumeClaim来实现。 首先,创建一个PersistentVolumeClaim: ``` apiVersion: v1 kind: PersistentVolumeClaim metadata: name: gitlab-runner-pvc namespace: gitlab-runner spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi ``` 然后,将PersistentVolumeClaim挂载到GitLab Runner的Pod: ``` apiVersion: apps/v1 kind: Deployment metadata: name: gitlab-runner namespace: gitlab-runner spec: replicas: 1 selector: matchLabels: app: gitlab-runner template: metadata: labels: app: gitlab-runner spec: containers: - name: gitlab-runner image: gitlab/gitlab-runner:latest command: - /bin/bash - -c - | cp -r /usr/share/gitlab-runner/config.toml /etc/gitlab-runner/ while true; do sleep 3600; done volumeMounts: - name: config mountPath: /etc/gitlab-runner/ - name: data mountPath: /mnt/data env: - name: CI_SERVER_URL value: https://gitlab.example.com/ - name: RUNNER_EXECUTOR value: kubernetes - name: KUBECONFIG value: /etc/gitlab-runner/kubeconfig - name: KUBERNETES_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: KUBERNETES_POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace volumes: - name: config configMap: name: gitlab-runner-config - name: data persistentVolumeClaim: claimName: gitlab-runner-pvc ``` 需要将`CI_SERVER_URL`替换为GitLab服务器的URL。 4. 配置GitLab Runner的Kubernetes配置文件: 需要为GitLab Runner创建一个Kubernetes配置文件,以便它可以在Kubernetes集群中创建Pod和其他资源。可以使用以下命令生成配置文件: ``` kubectl create configmap gitlab-runner-config \ --from-literal=concurrent=1 \ --from-literal=check_interval=30 \ --from-literal=rbac_create=false \ --from-literal=runner_token=runner-token \ --from-literal=runner_registration_timeout=1800 \ --from-literal=namespace=gitlab-runner \ --dry-run=client \ -o yaml > gitlab-runner-config.yaml ``` 需要将`runner_token`替换为实际的GitLab Runner注册令牌。 5. 部署GitLab Runner的Kubernetes配置文件: ``` kubectl apply -f gitlab-runner-config.yaml ``` 完成以上步骤后,GitLab Runner就可以在Kubernetes集群中运行了。可以使用GitLab的CI/CD功能来执行各种任务,例如构建和测试应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值