Introducción
Jenkins es un servidor de integración continua distribuido de código abierto en lenguaje Java. En esta publicación, instalaremos este CI mediante clústeres de Kubernetes.
Kubernetes es un software para orquestar aplicaciones en contenedores, automatizando su implementación, escalado y coordinación en un entorno de clúster. Gracias a la contenedorización, puede restringir fácilmente las aplicaciones entre sí, así como cambiar los recursos de servidor asignados de una aplicación a otra si es necesario.
In Serverspace, puede Para crear un listo Kubernetes clúster, porque es conveniente!
Requisitos
- Al menos 2 CPUs para implementar un servidor kubernetes
O alquila un servidor kubernetes - Servidor cliente, para administrar y configurar clústeres de Kubernetes
Preinstalación
Antes de instalar CI, debe implementar Kubernetes. Para hacer esto en Serverspace infraestructura, simplemente inicie sesión en su cuenta personal, luego vaya a Kubernetes y comenzar la instalación:

Configura el clúster dedicado según las características que necesites, no olvides darle un nombre.
PD Tomará alrededor de 15 minutos crear el clúster, sea paciente.
Luego de crear el cluster, podrás descargar el archivo de configuración del servidor con Cubernetes. Necesitarás este archivo de configuración más adelante al instalar CI, para vincular el cliente-servidor y el servidor con los clusters de Kubernetes.

Descargue el archivo de configuración a su computadora, cárguelo al servidor eligiendo una de las soluciones sugeridas:
- Puede crear un nuevo archivo y colocar la configuración del clúster de Kubernetes en él.
nano config-kubernetesInserte el archivo de configuración de Kubernetes en el archivo creado y guárdelo.
- Puede cargar el archivo de forma remota utilizando el protocolo SFTP.
Primeros Pasos
Instale los paquetes necesarios para la instalación de CI.
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectlEspecifique la ubicación del archivo de configuración del servidor k8s.
export KUBECONFIG=<your path to config>![]()
Ps Copiamos/creamos este archivo después de iniciar el servidor Kubernetes.
Compruebe la conexión con el servidor.
kubectl cluster-info

Crear un espacio para CI.
kubectl create namespace <your_namespace>Para instalar y ejecutar CI en un Kubernetes server, necesitamos crear un archivo de configuración, con la configuración de nuestro servidor.
nano our_project_jen.yamlIntroduzca estos parámetros en el archivo de configuración creado.
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins
spec:
replicas: 1
selector:
matchLabels:
app: jenkins
template:
metadata:
labels:
app: jenkins
spec:
containers:
- name: jenkins
image: jenkins/jenkins:lts
ports:
- name: http-port
containerPort: 8080
- name: jnlp-port
containerPort: 50000
volumeMounts:
- name: jenkins-vol
mountPath: /var/jenkins_vol
volumes:
- name: jenkins-vol
emptyDir: {}Este archivo de configuración implementará la última versión de CI. También se crearán y abrirán los puertos especificados en la configuración, puede cambiarlos a lo que necesite.
Ahora indique en el espacio creado qué archivo de configuración utilizar.
kubectl create -f jenkins.yaml --namespace <your_namespace>Espere a que el clúster instale la imagen de jenkins y ejecútela; use el siguiente comando para probar el módulo.
kubectl get pods -n jenkinsDespués de ejecutar la imagen, crearé dos servicios más para usar la versión web de jenkins.
Cree y modifique el archivo de configuración del servicio.
nano jenkins-service.yamlAgregue esta configuración al archivo creado.

Apunte al clúster para utilizar este archivo de configuración con el mismo espacio creado.
kubectl create -f jenkins-service.yaml --namespace <your_namespace>Comprobación del estado del servicio.
kubectl get services --namespace jenkinsUtilice este comando para ver la dirección IP o puede buscarla en el panel de control del clúster de Kubernetes.
kubectl get nodes -o wideAntes de ir a la versión web, obtenga la contraseña del superusuario de Jenkins.
kubectl logs jenkins-CHANGE -n jenkinsDonde "CAMBIO" es el nombre de su contenedor.

La contraseña está en los registros de nuestra imagen en ejecución.

Vaya a la versión web de CI para continuar con la instalación, ingrese en el cuadro de diálogo la contraseña que aprendimos anteriormente.

Para completar la instalación de Jenkins, siga las instrucciones proporcionadas con la versión web.

Conclusión
En esta publicación demostré cómo implementar Jenkins CI utilizando recursos de servidor Kubernetes dedicados desde Serverspace.