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.
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
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