我想与 kind 集群共享我的非空本地目录。
基于此处的答案:How to reference a local volume in Kind (kubernetes in docker)
我尝试了以下几种变体:
类集群 yaml:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraMounts:
- hostPath: /Users/xyz/documents/k8_automation/data/manual/
containerPath: /host_manual
extraPortMappings:
- containerPort: 30000
hostPort: 10000
豆荚yaml:
apiVersion: v1
kind: Pod
metadata:
name: manual
spec:
serviceAccountName: manual-sa
containers:
- name: tools
image: tools:latest
imagePullPolicy: Never
command:
- bash
tty: true
volumeMounts:
- mountPath: /home/jenkins/agent/data
name: data
volumes:
- name: data
hostPath:
path: /host_manual
type: Directory
---
我看到创建 pod 时目录 /home/jenkins/agent/data 确实存在。但是,该文件夹是空的。
此处的各种文档:https ://kind.sigs.k8s.io/docs/user/configuration/#extra-mounts
应该是集群yaml中extraMounts中hostpath(/Users/xyz/documents/k8_automation/data/manual/)的本地机器中的任何内容都可用于containerPath(/host_manual)的节点,然后获取安装在容器卷 mounthPath (/home/jenkins/agent/data)。
我应该补充一点,即使我将集群 yaml 文件中的 hostPath 更改为不存在的文件夹,空的“数据”文件夹仍会安装在容器中,所以我认为问题在于从本地到 kind 集群的连接.
- 为什么我没有得到 /Users/xyz/documents/k8_automation/data/manual/ 的内容,而容器中的 /home/jenkins/agent/data 也有许多文件可用?
- 我怎样才能解决这个问题?
- 如果没有修复,有什么替代方案吗?