Где находится куб-аписервер - PullRequest
0 голосов
/ 15 мая 2018

Базовый вопрос: Когда я пытаюсь использовать kube-apiserver на моем главном узле, я получаю команду not found.Как я могу установить / настроить kube-apiserver?Любая ссылка на пример поможет.

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

Подробности: я новичок в Kubernetes и Docker и пытался создать StatefulSet с volumeClaimTemplates.Моя проблема в том, что автоматические PV не создаются, и я получаю следующее сообщение в журнале PVC: «persistentvolume-controller ожидает создания тома».Я не уверен, нужно ли мне определять DefaultStorageClass и поэтому нужен kube-apiserver для его определения.

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

Вот результат pvc get:

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

И получить класс хранения:

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

Как я могу устранить эту проблему (например, журналы, почему хранилище не было создано)?

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Чтобы установить класс хранения "example-nfs" по умолчанию, вам нужно выполнить следующую команду:

kubectl patch storageclass example-nfs -p '{"metadata": 
  {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
0 голосов
/ 15 мая 2018

Вы задаете два разных вопроса: один о настройке kube-apiserver, другой о поиске и устранении неисправностей StorageClass.

Вот ответ на ваш первый вопрос:

kube-apiserver работает как контейнер Docker на вашем главном узле. Поэтому двоичный файл находится внутри контейнера, а не в вашей хост-системе. Он запускается мастером kubelet из файла, расположенного по адресу /etc/kubernetes/manifests. kubelet наблюдает за этим каталогом и запускает любой Pod, определенный здесь как "статические pods".

Чтобы настроить kube-apiserver аргументы командной строки, вам нужно изменить /etc/kubernetes/manifests/kube-apiserver.yaml на вашем мастере.

...