Instalación de Private Git Server en K8s Cluster con Gitea y AKS

En este artículo, instalaremos un servidor Gitea autohospedado sobre Azure Kubernetes Service con Helm y configuraremos un repositorio git. Tener un servidor Git privado podría ser beneficioso en estos días.

Gitea es una solución de hospedaje de código liviano compatible con Git y administrada por la comunidad escrita en Go. Se publica bajo la licencia MIT.

Azure Kubernetes Service (AKS) es un servicio de Kubernetes administrado por Microsoft Azure

En este artículo, configuraremos un clúster de AKS mediante az CLI y cloud shell.

Implementación:

Antes de crear cualquier recurso, debemos verificar que Microsoft.OperationsManagement y Microsoft.OperationalInsights estén registrados en su suscripción.

az provider show -n Microsoft.OperationsManagement -o table
az provider show -n Microsoft.OperationalInsights -o table

Si no están registrados, regístrese usando los siguientes comandos:

az provider register --namespace Microsoft.OperationsManagement
az provider register --namespace Microsoft.OperationalInsights

En primer lugar, debemos crear un grupo de recursos, ya que todos los recursos de Azure deben estar en un grupo de recursos en particular. Todos los recursos que voy a crear estarán en la región de Europa occidental (westeurope).

az group create --name my-gitea-lab --location westeurope

Instale el clúster de AKS:

Luego implementaremos Azure Kubernetes Cluster en una sola VM y haremos que genere claves ssh para nosotros:

az aks create --resource-group my-gitea-lab --name mygiteaAKSCluster --node-count 1 --node-vm-size standard_b2s --generate-ssh-keys

Puede consultar los precios y tamaños de las máquinas virtuales en la documentación de Azure. Para AKS, necesita un mínimo de 3,5 GB de RAM en la máquina virtual de trabajo, por lo que la opción más económica para nuestro ejemplo es standard_b2s.

Nota: Cuando crea un clúster de AKS, se crea automáticamente un segundo grupo de recursos para almacenar los recursos de AKS.

El nuevo clúster k8s está listo

Para obtener acceso a su clúster recién creado, puede ejecutar el siguiente comando:

az aks get-credentials --resource-group my-gitea-lab --name mygiteaAKSCluster

La CLI de helm ya está instalada en Azure Cloud Shell, pero si usa otro entorno, asegúrese de tener instalado el binario CLI de helm 3 con el siguiente comando:

which helm

Continuemos agregando el repositorio de helm gitea-charts 

helm repo add gitea-charts https://dl.gitea.io/charts/
helm repo update

Para personalizar su implementación de Gitea, debe descargar el archivo values.yml . Puede jugar con las opciones de su configuración de Gitea y proporcionar una clase de almacenamiento personalizada, exponer Gitea a través de Loadbalancer\Ingress o configurar la integración de LDAP o Oauth2. Aquí están algunos ejemplos:

  • El valor predeterminado de service.http.type=LoadBalancer es ClusterIP , pero dado que estamos implementando en la nube pública, usaremos LoadBalancer 
  • El ingress.enabled habilitará el ingreso, por defecto es falso.
  • El service.ssh.port configura el puerto personalizado para el tráfico ssh.

Implementar Gitea:

Arranquemos una implementación de Gitea en el clúster de Azure Kubernetes Service mediante el administrador de paquetes de Helm

helm install gitea gitea-charts/gitea  --set service.http.type=LoadBalancer

Puede ver cómo se aprovisiona el balanceador de carga 

kubectl get --namespace default svc -w gitea-http

Una vez que apareció la IP externa, ejecute esos comandos para obtener la URL de Gitea:

export SERVICE_IP=$(kubectl get svc --namespace default gitea-http --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
echo http://$SERVICE_IP:3000

¡Bienvenidos a una Gitea recién desplegada!

El nombre de usuario y la contraseña predeterminados se pueden encontrar en el archivo values.ym l

 username: gitea_admin
 password: r8sA8CPHD9!bt6d

Crear repositorio:

Una vez que haya iniciado sesión, creemos un nuevo repositorio haciendo clic en «+ Nuevo repositorio» en la esquina superior derecha

Hay muchos parámetros que puede configurar durante el proceso de creación del repositorio:

Código de empuje:

Iniciemos git repo en cloud shell, agreguemos el archivo Léame y empujemos el código a nuestro servidor privado de Gitea:

git init
echo "Hello from Gitea Repo!" > README.md
git add README.md
git commit -m "first commit"
git remote add origin http://20.126.230.2:3000/gitea_admin/FirstRepo.git
git push -u origin master

¡Ahora podemos ver la primera confirmación en el servidor remoto!

Limpiar:

Para limpiar, debe eliminar el gráfico de timón

helm delete gitea

y elimine el grupo de recursos con el clúster de AKS y el Node de trabajo

az group delete --name my-gitea-lab --yes --no-wait

En este artículo, cubrimos los pasos para instalar Azure Kubernetes Service (AKS) con az CLI, gráfico de timón de Gitea personalizado e instalado, Gitea expuesto con Load Balancer. Luego creamos un repositorio de git y enviamos el código al servidor de Gitea.

Publicación traducida automáticamente

Artículo escrito por viachaslaumatsukevich y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *