Kubernetes

Contexte

Kubernetes est un orchestrateur open source de containers compatibles Docker et rkt. L’orchestrateur permet de déployer, gérer et étendre horizontalement des containers sur des noeuds portant Docker ou rkt.

Pour plus d’informations Kubernetes

Installation des prérequis

Télécharger et installer Virtualbox, voir l’article Virtualbox

Installation de minikube

OSX
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.23.0/minikube-darwin-amd64 && chmod +x minikube && sudo mv -f minikube /usr/local/bin/
Linux
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.23.0/minikube-linux-amd64 && chmod +x minikube && sudo mv -f minikube /usr/local/bin/

Installation de kubectl

OSX
curl -LO https://storage.googleapis.com/kubernetes-release/release/curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt/bin/darwin/amd64/kubectl && chmod +x kubectl && sudo mv -f kubectl /usr/local/bin
Linux
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 -f kubectl /usr/local/bin

 

Vérifier les installations

Lancer un shell puis executer

virtualbox --help | awk '/Oracle/{ print $5 }'
# 5.1.28

minikube version
# minikube version: v0.22.3

Créer une machine virtuelle avec minikube

minikube start --vm-driver=virtualbox
# Starting local Kubernetes v1.7.5 cluster...
# Starting VM...
# Getting VM IP address...
# Moving files into cluster...
# Setting up certs...
# Connecting to cluster...
# Setting up kubeconfig...
# Starting cluster components...
# Kubectl is now configured to use the cluster.

minikube status
# minikube: Running
# cluster: Running
# kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

Exemple de création d’un pod

kubectl run jenkins --image=jenkins --port=8080
# deployment "jenkins" created

kubectl get deployment
# NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
# jenkins 1 1 1 0 39s

kubectl get pods
# NAME READY STATUS RESTARTS AGE
# jenkins-3846303548-q3kvn 0/1 ContainerCreating 0 1m

kubectl expose deployment jenkins --type=NodePort
# service "jenkins" exposed
Patienter jusqu’au résultat « STATUS » à « Running » en répétant la requête kubectl get pods

Récupérer l’url du pod

echo $(minikube service jenkins --url)
# http://192.168.99.102:30490

Accéder au portail via l’URL

Supprimer le pod

kubectl delete deployment jenkins
# deployment "jenkins" deleted

Supprimer la machine virtuelle

minikube delete
# Deleting local Kubernetes cluster...
# Machine deleted.

 

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *