Introducción
Jenkins: es un servidor de integración continua que se distribuye de código abierto en el lenguaje Java. En esta publicación instalaremos este CI usando kubernetes racimos
Kubernetes es un software para orquestar aplicaciones en contenedores, automatizando su implementación, escalado y coordinación.nation en un ambiente de racimo. Gracias a la creación de contenedores, puede restringir fácilmente las aplicaciones entre sí, así como cambiar los recursos del 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 kubernetes servidor
O alquilar un kubernetes servidor - Cliservidor ent, para administrar y configurar kubernetes grupos
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.
Después de crear el clúster, podrá descargar el archivo de configuración del servidor con Cubernetes. Necesitará este archivo de configuración más adelante cuando instale CI, para vincular el client-server y el servidor con el kubernetes racimos
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 poner el kubernetes configuración de clúster en él.
nano config-kubernetes
Insertar el kubernetes config en el archivo creado y guárdelo.
- Puede cargar el archivo de forma remota utilizando el protocolo SFTP.
Cómo comenzar
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 kubectl
Especifique la ubicación del archivo de configuración del servidor k8s.
export KUBECONFIG=<your path to config>
PD: copiamos/creamos este archivo después de iniciar el kubernetes servidor.
Compruebe la conexión con el servidor.
kubectl cluster-info
Créar un space 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.yaml
Entra estos parameters 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 apunta el creado space qué archivo de configuración usar.
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 jenkins
Despué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.yaml
Agregue esta configuración al archivo creado.
Clúster de puntos para usar este archivo de configuración con el mismo space creado.
kubectl create -f jenkins-service.yaml --namespace <your_namespace>
Comprobación del estado del servicio.
kubectl get services --namespace jenkins
Use este comando para ver la dirección IP, o puede buscarla en el kubernetes panel de control del grupo.
kubectl get nodes -o wide
Antes de ir a la versión web, obtenga la contraseña del superusuario de Jenkins.
kubectl logs jenkins-CHANGE -n jenkins
Donde "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 usando dedicado kubernetes recursos del servidor de Serverspace.