📜  使用 Gitea 和 AKS 在 K8s 集群上安装私有 Git 服务器(1)

📅  最后修改于: 2023-12-03 14:49:40.013000             🧑  作者: Mango

使用 Gitea 和 AKS 在 K8s 集群上安装私有 Git 服务器

前言

在项目开发中,管理代码是非常重要的一个环节。Git 是目前最流行的版本控制工具之一,同时也有非常多的开源 Git 服务器,如 GitLab、Gogs 等。不过,由于某些原因,有时候我们需要在自己的私有服务器上搭建 Git 服务器,以便更好地管理代码。

本文将介绍如何使用 Gitea 和 AKS 在 K8s 集群上搭建私有 Git 服务器。

环境准备

在开始之前,我们需要准备以下环境:

  • Azure 账号(本文将使用 AKS)
  • kubectl 命令行工具(用于操作 Kubernetes 集群)
  • Helm 包管理器(用于安装 Gitea)
  • Git 客户端(用于从 Git 服务器上拉取代码)

本文以 AKS 环境为例,如果您已经准备好了以上环境,那么可以直接跳过以下章节。

创建 AKS

登录 Azure 门户,创建一个 Kubernetes 服务(AKS)。创建时需要选择 Kubernetes 版本、节点数、节点大小等,根据自己的需求进行选择即可。

创建完成后,我们需要在本地安装 kubectl 命令行工具,并将其与 AKS 进行关联。操作方式如下:

  1. 安装 kubectl 命令行工具:
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

$ chmod +x ./kubectl

$ sudo mv ./kubectl /usr/local/bin/kubectl
  1. 安装 Azure CLI:
$ curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
  1. 登录 Azure 帐户:
$ az login
  1. 设置默认订阅:
$ az account set --subscription <SUBSCRIPTION_ID>
  1. 获取 AKS 认证信息:
$ az aks get-credentials --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME>

其中,<RESOURCE_GROUP> 是 AKS 所在的资源组名称,<CLUSTER_NAME> 是 AKS 的名称,<SUBSCRIPTION_ID> 是 Azure 订阅 ID。

安装 Helm

Helm 是 Kubernetes 的包管理工具,我们可以使用它来安装应用程序到 Kubernetes 集群中。

Helm 安装步骤如下:

  1. 下载 Helm

我们可以到 Helm 官方网站 上下载相应版本的 Helm。如果是 Mac 系统,还可以使用 Homebrew 来安装 Helm:

$ brew install helm
  1. 安装 Tiller

Tiller 是 Helm 的服务端组件,需要安装到 Kubernetes 集群中。

我们可以使用 Helm 命令来安装 Tiller:

$ helm init
安装 Gitea

Gitea 是一个轻量级的 Git 服务,它提供了 Git 服务器的所有基本功能,并且非常易于安装和设置。

在 AKS 环境中,我们可以使用 Helm 来安装 Gitea。安装命令如下:

$ helm install --name gitea stable/gitea \
  --set service.type=LoadBalancer \
  --set giteaConfig.server.DOMAIN=example.com \
  --set giteaConfig.server.HTTP_PORT=80 \
  --set service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true \
  --set persistence.size=10Gi \
  --set replicaCount=2

以上命令会在 AKS 环境中安装 Gitea 应用程序,并创建一个类型为 LoadBalancer 的 Kubernetes 服务。内网访问需要设置 service.beta.kubernetes.io/azure-load-balancer-internaltrue

配置 Gitea

在浏览器中访问 Gitea 服务,进入 Gitea 的配置页面。根据实际情况,配置如下选项:

  • 注册管理员账号
  • 配置 SMTP 邮件系统
  • 配置用户认证方式

完成上述配置后,我们就可以在 AKS 集群上使用 Gitea 了。

使用 Git 客户端访问 Gitea

在本地安装 Git 客户端,并使用以下命令将本地 Git 仓库同步到 Gitea 服务器:

$ git remote add origin http://<GITEA_IP>/user_name/repo_name.git

$ git push -u origin master

其中,<GITEA_IP> 是 Gitea 服务器的 IP 地址,user_namerepo_name 分别是你自己的用户名和仓库名称。

总结

本文介绍了如何使用 Gitea 和 AKS 在 Kubernetes 集群上搭建私有 Git 服务器,并提供了 Git 客户端进行访问的方法。希望这篇文章对大家有所帮助。