Deploy GitLab on KubeSphere
GitLab is an open-source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more.
This tutorial demonstrates how to deploy GitLab on KubeSphere.
- You need to enable the OpenPitrix system.
- You need to create a workspace, a project, and two user accounts (
project-regular) for this tutorial. The account
ws-adminmust be granted the role of
workspace-adminin the workspace, and the account
project-regularmust be invited to the project with the role of
operator. If they are not ready, refer to Create Workspaces, Projects, Accounts and Roles.
Step 1: Add an app repository
Log in to KubeSphere as
ws-admin. In your workspace, go to App Repos under Apps Management, and then click Add Repo.
In the dialog that appears, enter
mainfor the app repository name and
https://charts.kubesphere.io/mainfor the app repository URL. Click Validate to verify the URL and you will see a green check mark next to the URL if it is available. Click OK to continue.
The repository displays in the list after successfully imported to KubeSphere.
Step 2: Deploy GitLab
Log out of KubeSphere and log back in as
project-regular. In your project, go to Applications under Application Workloads and click Deploy New Application.
In the dialog that appears, select From App Templates.
mainfrom the drop-down list, then click gitlab.
On the App Info tab and the Chart Files tab, you can view the default configuration from the console. Click Deploy to continue.
On the Basic Info page, you can view the app name, app version, and deployment location. Click Next to continue.
On the App Config page, use the following configurations to replace the default configurations, and then click Deploy.
global: hosts: domain: demo-project.svc.cluster.local gitlab-runner: install: false gitlab: webservice: helmTests: enabled: false
demo-projectrefers to the project name where GitLab is deployed. Make sure you use your own project name.
Wait for GitLab to be up and running.
Go to Workloads, and you can see all the Deployments and StatefulSets created for GitLab.
NoteIt may take a while before all the Deployments and StatefulSets are up and running.
Step 3: Get the root user’s password
Go to Secrets under Configurations, enter
gitlab-initial-root-passwordin the search bar, and then press Enter on your keyboard to search the Secret.
Click the Secret to go to its detail page, and then click the eye icon in the upper-right corner to view the password. Make sure you copy it.
Step 4: Edit the hosts file
Find the hosts file on your local machine.
NoteThe path of hosts file is
/etc/hostsfor Linux, or
Add the following item into the hosts file.
demo-projectrefer to the NodeIP and project name respectively where GitLab is deployed. Make sure you use your own NodeIP and project name.
- You can use any IP address of the nodes in your Kubernetes cluster.
Step 5: Access GitLab
Go to Services under Application Workloads, enter
nginx-ingress-controllerin the search bar, and then press Enter on your keyboard to search the Service. You can see the Service is being exposed through port
32618, which you can use to access GitLab.
NoteThe port number shown on your console may be different. Make sure you use your own port number.
Access GitLab through
http://gitlab.demo-project.svc.cluster.local:32618using the root account and its initial password (
NoteYou may need to open the port in your security groups and configure related port forwarding rules depending on where your Kubernetes cluster is deployed.