2. Installation de Kubernetes
Installation de kubernetes sur Windows
Il suffit de suivre les instructions données ici
Installation de kubernetes sur Linux
Il suffit de suivre les instructions données ici
Connexion au Cluster
- Télécharger le fichier donné par l'hébergeur du cluster managé à la racine du projet
- Renommer le fichier en kubeconfig
- Configurer la variable d'environnement.
export KUBECONFIG=$PWD/kubeconfig
ou
$env:KUBECONFIG="$PWD\kubeconfig"
- Tester avec la commande
kubectl get nodes
- Dashboard installation
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml
kubectl proxy
ou
kubectl proxy -p 8002
- Accès dashboard:
ou
- Si erreur... Sur OVH le kubeconfig ne contient pas nécessairement de token pour l'accès au dashboard. Il faut alors créer un ServiceAccount et un Role pour créer un token Créer un fichier dashboard-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
2 possibilités:
- Obtenir un token temporaire (1h) d'authentification (kubectl version > 1.24) :
kubectl create token admin-user -n kubernetes-dashboard
-
Créer un secret token et le copier dans le kubeconfig:
- Il faut commencer par créer un secret relatif au service account dans son namespace:
yaml apiVersion: v1 kind: Secret metadata: namespace: kubernetes-dashboard name: dashboard-token annotations: kubernetes.io/service-account.name: admin-user type: kubernetes.io/service-account-tokenkubectl create -f ./secret.yaml kubectl describe secret mysecretname- Copier le résultat dans le fichier kubeconfig en rajoutant la clé token
apiVersion: v1
clusters:
- cluster:
server: https://XXXX
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: YOUR USER
name: kubernetes
current-context: "kubernetes"
kind: Config
preferences: {}
users:
- name: YOUR USER
user:
client-certificate-data: CODED
client-key-data: CODED
token: CODED ---> ADD TOKEN HERE