docker - kube-apiserver 位于哪里

标签 docker kubernetes volume persistent-storage kube-apiserver

基本问题:当我尝试在我的主节点上使用 kube-apiserver 时,我收到 command not found 错误。如何安装/配置 kube-apiserver?任何指向示例的链接都会有所帮助。

$ 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 来定义它。

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

并获取 storageclass:

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

如何解决此问题(例如,有关未创建存储原因的日志)?

最佳答案

您在这里问了两个不同的问题,一个是关于 kube-apiserver 配置的,一个是关于排除 StorageClass 的问题。

这是您第一个问题的答案:

kube-apiserver 在您的主节点上作为 Docker 容器运行。因此,二进制文件容器中,而不是在您的主机系统上。它由 master 的 kubelet 从位于 /etc/kubernetes/manifests 的文件中启动。 kubelet 正在监视此目录,并将启动此处定义为“静态 pod”的任何 Pod。

要配置 kube-apiserver 命令行参数,您需要在 master 上修改 /etc/kubernetes/manifests/kube-apiserver.yaml

关于docker - kube-apiserver 位于哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50352621/

相关文章:

docker - 如何运行 VS 2017 生成的 docker 镜像

linux - 以未知用户 ID 运行的 Docker 镜像可以删除根文件

docker - 是否可以在 Kubernetes 中重定向日志记录?

docker - Docker容器无法挂载文件夹

android - 摆脱耳机和扬声器的不同音量

audio - FFMPEG:如何添加音量以过滤复合体

Dockerfile:将 RUN 指令输出到变量中

docker - 如何在 docker-compose.yml 文件中设置持久数据

kubernetes - 如何停止副本集终止请求的Pod数量

kubernetes - 是否有可能,如果总是失败,如何限制 kubernetes 作业创建最大数量的 pod?