基本的な質問: マスター ノードで kube-apiserver を使用しようとすると、コマンドが見つからないというエラーが発生します。kube-apiserver をインストール/構成するにはどうすればよいですか? 例へのリンクがあれば役立ちます。
$ kube-apiserver --enable-admission-plugins DefaultStorageClass
-bash: kube-apiserver: command not found
詳細: 私は Kubernetes と Docker の初心者で、volumeClaimTemplates を使用して StatefulSet を作成しようとしていました。問題は、自動 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 の結果は次のとおりです。
$ 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>
この問題をトラブルシューティングするにはどうすればよいですか (例: ストレージが作成されなかった理由のログなど)?
ベストアンサー1
ここでは 2 つの異なる質問があります。1 つは kube-apiserver の構成について、もう 1 つは のトラブルシューティングについてですStorageClass
。
最初の質問に対する答えは次のとおりです。
kube-apiserver
マスターノード上でDockerコンテナとして実行されています。したがって、バイナリは内でコンテナ上、ホスト システム上ではありません。マスターによって、kubelet
にあるファイルから起動されます/etc/kubernetes/manifests
。kubelet
このディレクトリを監視し、ここで「静的ポッド」として定義されているポッドを起動します。
kube-apiserver
コマンドライン引数を構成するには、/etc/kubernetes/manifests/kube-apiserver.yaml
マスターで変更する必要があります。