Skip to content

Latest commit

 

History

History
190 lines (127 loc) · 3.11 KB

1_cluster.md

File metadata and controls

190 lines (127 loc) · 3.11 KB

Configurer et accéder au cluster

  • manipuler le cluster avec kubectl
  • comprendre les namespaces

Kubectl

Création d'un alias pour simplifier l'écriture des commandes

alias k=kubetcl

nb: pas requis, mais fait gagner du temps sur des commandes parfois longues..

Aide de kubectl

k --help

Aide sur la ressource Pod

k explain pods

Aide sur l'exectution de la commande run d'un pod

k run pod --help

Pour lister tous les types de ressources et leur alias

kubectl api-resources

Kubectl utilise un fichier ~/.kube/config pour stocker les informations du cluster

  • Serveurs (IP, CA Cert, Nom)
  • Users (Nom, Certificat, Clé)
  • Context, association d'un user et d'un Serveurs
cat ~/.kube/config

Infos du cluster

Afficher les infos du cluster

k config view

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.0.0.10:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes

Check cluster infos / IP

k cluster-info


Kubernetes control plane is running at https://10.0.0.10:6443
CoreDNS is running at https://10.0.0.10:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

Namespace

Lister les namespaces

k get ns  

Création d'un nouveau namespace learnk8 en ligne de commande

k create ns learnk8

Supprimer un Namespace

k delete ns learnk8

Recommandé : création d'un nouveau namespace via fichier de spécification Yaml

 k create ns learnk8 --dry-run=client -o yaml > namespace.yaml
cat namespace.yaml

apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: null
  name: learnk8
spec: {}
status: {}
vagrant@mast

Appliquer cette config à notre cluster

k apply -f namespace.yaml

namespace/learnk8 created

Voir les informations du namespace, dont les limites, quotas, etc

kubectl describe namespace learnk8

Name:         learnk8
Labels:       kubernetes.io/metadata.name=learnk8
Annotations:  <none>
Status:       Active

No resource quota.

No LimitRange resource.

Utilisation du context pour basculer vers le namespace learnk8 par défaut

k config set-context --current --namespace=learnk8

Vérifer le contexte et cluster courant

k config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://10.0.0.10:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: learnk8
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config

Tips: possible de cibler le champ avec le format jsonpath

k config view -o jsonpath='{.contexts[].context.namespace}'

Plus d'infos