web-dev-qa-db-fra.com

Où se trouve kube-apiserver

Question de base: lorsque j'essaie d'utiliser kube-apiserver sur mon nœud maître, j'obtiens une erreur de commande introuvable. Comment puis-je installer/configurer kube-apiserver? Tout lien vers l'exemple vous aidera.

$ kube-apiserver --enable-admission-plugins DefaultStorageClass
-bash: kube-apiserver: command not found

Détails: Je suis nouveau sur Kubernetes et Docker et essayais de créer StatefulSet avec volumeClaimTemplates. Mon problème est que les PV automatiques ne sont pas créés et j'obtiens ce message dans le journal PVC: "contrôleur de volume persistant en attente de création d'un volume". Je ne sais pas si j'ai besoin de définir DefaultStorageClass et donc j'avais besoin de kube-apiserver pour le définir.

Name:          nfs
Namespace:     default
StorageClass:  example-nfs
Status:        Pending
Volume:
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner=example.com/nfs
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
Events:
  Type    Reason                Age                  From                         Message
  ----    ------                ----                 ----                         -------
  Normal  ExternalProvisioning  3m (x2401 over 10h)  persistentvolume-controller  waiting for a volume to be created, either by external provisioner "example.com/nfs" or manually created by system administrator

Voici le résultat en pvc:

$ kubectl get pvc
NAME      STATUS    VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   AGE
nfs       Pending                                       example-nfs    10h

Et obtenez la classe de stockage:

$ kubectl describe storageclass example-nfs
Name:                  example-nfs
IsDefaultClass:        No
Annotations:           <none>
Provisioner:           example.com/nfs
Parameters:            <none>
AllowVolumeExpansion:  <unset>
MountOptions:          <none>
ReclaimPolicy:         Delete
VolumeBindingMode:     Immediate
Events:                <none>

Comment puis-je résoudre ce problème (par exemple, les journaux expliquant pourquoi le stockage n'a pas été créé)?

13
raj_arni

Vous posez ici deux questions différentes, une sur la configuration de kube-apiserver, une sur le dépannage de votre StorageClass.

Voici une réponse à votre première question:

kube-apiserver s'exécute en tant que conteneur Docker sur votre nœud maître. Par conséquent, le binaire est dans le conteneur, pas sur votre système hôte. Il est démarré par le kubelet du maître à partir d'un fichier situé dans /etc/kubernetes/manifests. kubelet regarde ce répertoire et démarrera tout pod défini ici comme "pods statiques".

Configurer kube-apiserver arguments de ligne de commande que vous devez modifier /etc/kubernetes/manifests/kube-apiserver.yaml sur votre maître.

24
embik

Pour définir la classe de stockage "example-nfs" par défaut, vous devez exécuter la commande ci-dessous:

kubectl patch storageclass example-nfs -p '{"metadata": 
  {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
0
Ajit Singh