Installation kubernetes

Ce billet concerne l’installation de kubernetes version 1.8.

Install docker

Installation des packets docker via les commandes ubuntu, afin que kubeadm ) nous alerte pas sur les incompatibilité entre kubernetes et docker.

apt-get update && apt-get install -qy docker.io

Install kubernetes and kubeadm

Pour installer kubernetes nous alons utiliser l’outil kubeadm, celui-ci simplifie grandement l’installation d’un cluster kubernetes.

apt-get update && apt-get install -y apt-transport-https \
&& curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list

apt-get update
apt-get install -y kubelet kubeadm kubernetes-cni

Disable swap

Kubernetes n’aime pas trop la swap, nous la desactivons.

cat /proc/swaps | grep partition && swapoff -a && sed -i "/swap/d" /etc/fstab

Init kubernetes server

L’installation des prérequis pour faire tourner kubernetes est maintenant terminé, nous pouvons initialiser notre cluster

kubeadm init --pod-network-cidr=10.244.0.0/16 --token-ttl 0

Le script va générer pas mal de logs, veuillez noter les la commande pour ajouter un nouveau noeud (info de sécurité)

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  kubeadm join --token dfa049.2f3495d778046a39 192.168.252.77:6443 --discovery-token-ca-cert-hash sha256:81844f2f4e334e364b5b792aa57e4b648f9b15aed39f4a8f4764de615963cdbc

Allow master running in node mode

Par defaut les masters ne peuvent pas faire tourner des containers, activons le master en mode node

kubectl taint nodes --all node-role.kubernetes.io/master-

Init network cluster

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml

Ajout du dashboard kubenertes

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl proxy

# Grant admin privilege for dashboard

crée le fichier `dashboard-admin.yaml`

apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: kubernetes-dashboard namespace: kube-system


ssh -L 8001:127.0.0.1:8001 -N username@hostname
chrome http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
kubectl get all --all-namespaces

mqtt server

devicexx/emqttd

Pas de commentaire