k8s部署gitlab最新版并初始化和登录

前提条件是已经部署了k8s环境,采用k8s部署gitlab作为devops的测试环境,更加简洁和方便。

1. 准备工作

1.1 创建nfs共享目录

在nfs服务器创建共享目录,部署的gitlib使用共享目录来进行持久化,这样不管在哪个节点运行gitlib都没有关系。

# mkdir -p /home/k8s-nfs/gitlab/config
# mkdir -p /home/k8s-nfs/gitlab/logs
# mkdir -p /home/k8s-nfs/gitlab/data

1.2 添加到共享

/home/k8s-nfs/gitlab/config 192.168.17.0/8(rw,no_root_squash)
/home/k8s-nfs/gitlab/logs 192.168.17.0/8(rw,no_root_squash)
/home/k8s-nfs/gitlab/data 192.168.17.0/8(rw,no_root_squash)

1.3 执行更新

# service nfs restart
或者
# exportfs -r

2. 部署gitlib

2.1 准备部署文件(gitlib-deploy.yaml)

apiVersion: v1
kind: Service
metadata:
  name: gitlab
spec:
  type: NodePort
  ports:
  # Port上的映射端口
  - port: 443
    targetPort: 443
    name: gitlab443
  - port: 80
    targetPort: 80
    name: gitlab80
  - port: 22
    targetPort: 22
    name: gitlab22
  selector:
    app: gitlab

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitlab
spec:
  selector:
    matchLabels:
      app: gitlab
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: gitlab
    spec:
      containers:
      # 应用的镜像
      - image: gitlab/gitlab-ce 
        name: gitlab
        imagePullPolicy: IfNotPresent
        # 应用的内部端口
        ports:
        - containerPort: 443
          name: gitlab443
        - containerPort: 80
          name: gitlab80
        - containerPort: 22
          name: gitlab22
        volumeMounts:
        # gitlab持久化
        - name: gitlab-persistent-config
          mountPath: /etc/gitlab
        - name: gitlab-persistent-logs
          mountPath: /var/log/gitlab
        - name: gitlab-persistent-data
          mountPath: /var/opt/gitlab
      imagePullSecrets:
      - name: devops-repo
      volumes:
      # 使用nfs互联网存储
      - name: gitlab-persistent-config
        nfs:
          server: 192.168.17.81
          path: /home/k8s-nfs/gitlab/config
      - name: gitlab-persistent-logs
        nfs:
          server: 192.168.17.81
          path: /home/k8s-nfs/gitlab/logs
      - name: gitlab-persistent-data
        nfs:
          server: 192.168.17.81
          path: /home/k8s-nfs/gitlab/data

2.2 执行部署

# kubectl apply -f gitlib-deploy.yaml

2.3 查看部署结果

# kubectl get deploy 
NAME     READY   UP-TO-DATE   AVAILABLE   AGE
gitlab   1/1     1            1           134m

以上说明部署完成。

3. gitlib初始化

3.1 访问登录页面

通过查看service映射的端口:

# kubectl get svc -o wide
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                                   AGE    SELECTOR
gitlab       NodePort    10.10.129.28    <none>        443:31326/TCP,80:31320/TCP,22:31515/TCP   137m   app=gitlab

可以看到映射80端口的节点端口为:31320

通过制定端口访问登录页:

3.2 初始用户名和密码

 初始用户名为root,初始密码gitlib自动创建,在如下文件中:

/etc/gitlab/initial_root_password

由于是容器部署,所以,需要进入到容器中,找到对应文件,拷贝密码进行登录。文件内容类似:

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_passwo
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/

Password: HCsr5VFAp28N*****************=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

3.3 登录以后的主界面

 

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
搭建最新版本的gitlab、jenkins、harbor和k8s部署微服务流水线,首先需要安装CentOS操作系统,然后按照以下步骤进行: 1. 安装Docker和Docker Compose:在CentOS上安装最新版本的Docker和Docker Compose,这是搭建整个流水线所需的基础环境。 2. 安装Gitlab:使用Docker Compose安装最新版本的Gitlab。在Docker Compose文件中设置所需的配置,如运行端口、数据存储目录等。 3. 配置Gitlab:通过访问Gitlab的IP地址和端口,在Web界面上进行初始配置,如创建管理员账户、配置SMTP服务器等。 4. 安装Jenkins:使用Docker Compose安装最新版本的Jenkins。在Docker Compose文件中设置所需的配置,如运行端口、数据存储目录等。 5. 配置Jenkins:通过访问Jenkins的IP地址和端口,在Web界面上进行初始配置,如安装所需的插件、配置全局工具等。 6. 安装Harbor:使用Docker Compose安装最新版本的Harbor。在Docker Compose文件中设置所需的配置,如运行端口、数据存储目录等。 7. 配置Harbor:通过访问Harbor的IP地址和端口,在Web界面上进行初始配置,如创建管理员账户、配置存储库等。 8. 部署Kubernetes:安装Kubernetes集群以部署和管理微服务。可以使用工具如kubeadm、kubespray等进行安装。 9. 配置Kubernetes:对Kubernetes进行初始化配置,如创建命名空间、配置权限等。 10. 配置流水线:在Jenkins中创建和配置流水线任务,包括从Gitlab拉取代码、构建、测试、镜像构建和推送到Harbor、部署到Kubernetes等步骤。 通过成以上步骤,就可以成功搭建最新版本的Gitlab、Jenkins、Harbor和Kubernetes的微服务流水线。这将为开发团队提供一个整的CI/CD环境,用于高效地构建、测试和部署微服务应用程序。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值