webentwicklung-frage-antwort-db.com.de

Wo befindet sich kube-apiserver?

Grundfrage: Wenn ich versuche, kube-apiserver auf meinem Masterknoten zu verwenden, erhalte ich den Fehler, dass der Befehl nicht gefunden wurde. Wie kann ich kube-apiserver installieren/konfigurieren? Jeder Link zum Beispiel hilft.

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

Details: Ich bin neu bei Kubernetes und Docker und habe versucht, StatefulSet mit volumeClaimTemplates zu erstellen. Mein Problem ist, dass die automatischen PVs nicht erstellt werden und ich diese Meldung im PVC-Protokoll erhalte: "Permanenter Volumenregler wartet darauf, dass ein Volumen erstellt wird". Ich bin nicht sicher, ob ich DefaultStorageClass definieren muss und benötige daher kube-apiserver, um es zu definieren.

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

Hier ist ein PVC-Ergebnis:

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

Und Speicherklasse bekommen:

$ 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>

Wie kann ich dieses Problem beheben (z. B. Protokolle, warum der Speicher nicht erstellt wurde)?

13
raj_arni

Sie stellen hier zwei verschiedene Fragen, eine zur Konfiguration von kube-apiserver und eine zur Fehlerbehebung bei Ihrem StorageClass.

Hier ist eine Antwort auf Ihre erste Frage:

kube-apiserver Wird als Docker-Container auf Ihrem Masterknoten ausgeführt. Daher ist die Binärdatei innerhalb des Containers, nicht auf Ihrem Host-System. Es wird vom Master kubelet aus einer Datei gestartet, die sich unter /etc/kubernetes/manifests Befindet. kubelet überwacht dieses Verzeichnis und startet jeden Pod, der hier als "statische Pods" definiert ist.

Um kube-apiserver Befehlszeilenargumente zu konfigurieren, müssen Sie /etc/kubernetes/manifests/kube-apiserver.yaml Auf Ihrem Master ändern.

24
embik

Um die Speicherklasse "example-nfs" als Standard festzulegen, müssen Sie den folgenden Befehl ausführen:

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