kube-apiserver 位于何处 [英] Where is kube-apiserver located
问题描述
基本问题:当我尝试在主节点上使用 kube-apiserver 时,出现命令未找到错误.如何安装/配置 kube-apiserver?任何示例链接都会有所帮助.
Base question: When I try to use kube-apiserver on my master node, I get command not found error. How I can install/configure kube-apiserver? Any link to example will help.
$ kube-apiserver --enable-admission-plugins DefaultStorageClass
-bash: kube-apiserver: command not found
详细信息:我是 Kubernetes 和 Docker 的新手,正在尝试使用 volumeClaimTemplates 创建 StatefulSet.我的问题是没有创建自动 PV,我在 PVC 日志中收到此消息:persistentvolume-controller waiting for a volume to be created".我不确定是否需要定义 DefaultStorageClass,因此需要 kube-apiserver 来定义它.
Details: I am new to Kubernetes and Docker and was trying to create StatefulSet with volumeClaimTemplates. My problem is that the automatic PVs are not created and I get this message in the PVC log: "persistentvolume-controller waiting for a volume to be created". I am not sure if I need to define DefaultStorageClass and so needed kube-apiserver to define it.
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 结果:
Here is get pvc result:
$ 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>
如何解决此问题(例如未创建存储的原因的日志)?
How can I troubleshoot this issue (e.g. logs for why the storage was not created)?
推荐答案
您在这里问了两个不同的问题,一个关于 kube-apiserver 配置,一个关于对 StorageClass
进行故障排除.
You are asking two different questions here, one about kube-apiserver configuration, one about troubleshooting your StorageClass
.
这是您的第一个问题的答案:
Here's an answer for your first question:
kube-apiserver
在您的主节点上作为 Docker 容器运行.因此,二进制文件在容器内,而不是在您的主机系统上.它由 master 的 kubelet
从位于 /etc/kubernetes/manifests
的文件中启动.kubelet
正在监视此目录,并将启动此处定义为静态 Pod"的任何 Pod.
kube-apiserver
is running as a Docker container on your master node. Therefore, the binary is within the container, not on your host system. It is started by the master's kubelet
from a file located at /etc/kubernetes/manifests
. kubelet
is watching this directory and will start any Pod defined here as "static pods".
要配置 kube-apiserver
命令行参数,您需要修改 master 上的 /etc/kubernetes/manifests/kube-apiserver.yaml
.
To configure kube-apiserver
command line arguments you need to modify /etc/kubernetes/manifests/kube-apiserver.yaml
on your master.
这篇关于kube-apiserver 位于何处的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!