AKS - 如何使用 pod/image 的文件挂载卷
AKS - How to mount volume with file for pod/image
我对卷挂载的 AKS 部署有点陌生。我想在 AKS 中用图像创建一个 pod;该图像需要一个带有 config.yaml 文件的卷装载(我已经拥有并且需要成功传递给该图像以 运行)。
下面是在本地机器上运行的 docker 命令。
docker run -v <Absolute_path_of_config.yaml>:/config.yaml image:tag
我想在 AKS 中实现同样的目标。当我尝试使用 Azure File Mount(使用 PersistentVolumeClaim)部署相同的卷时,正在附加卷。现在的问题是如何将 config.yaml 文件传递给该 pod。我尝试将 config.yaml 文件上传到 POD 部署中附加的 Azure 文件共享卷,但没有成功。
下面是我使用的pod部署文件
kind: Pod
apiVersion: v1
metadata:
name: mypod
spec:
containers:
- name: mypod
image: image:tag
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 1Gi
volumeMounts:
- mountPath: "/config.yaml"
name: volume
volumes:
- name: volume
persistentVolumeClaim:
claimName: my-azurefile-storage
需要有关如何使用本地 config.yaml 文件进行 aks 部署的帮助,以便图像可以 运行 正确。
提前致谢。
使用 config.yaml
文件创建一个 kubernetes secret。
kubectl create secret generic config-yaml --from-file=config.yaml
将其作为卷安装在 pod 中。
apiVersion: v1
kind: Pod
metadata:
name: config
spec:
containers:
- name: config
image: alpine
command:
- cat
resources: {}
tty: true
volumeMounts:
- name: config
mountPath: /config.yaml
subPath: config.yaml
volumes:
- name: config
secret:
secretName: config-yaml
执行到 pod 并查看文件。
kubectl exec -it config sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
/ # ls
bin dev home media opt root sbin sys usr
config.yaml etc lib mnt proc run srv tmp var
/ # cat config.yaml
---
apiUrl: "https://my.api.com/api/v1"
username: admin
password: password
我对卷挂载的 AKS 部署有点陌生。我想在 AKS 中用图像创建一个 pod;该图像需要一个带有 config.yaml 文件的卷装载(我已经拥有并且需要成功传递给该图像以 运行)。
下面是在本地机器上运行的 docker 命令。
docker run -v <Absolute_path_of_config.yaml>:/config.yaml image:tag
我想在 AKS 中实现同样的目标。当我尝试使用 Azure File Mount(使用 PersistentVolumeClaim)部署相同的卷时,正在附加卷。现在的问题是如何将 config.yaml 文件传递给该 pod。我尝试将 config.yaml 文件上传到 POD 部署中附加的 Azure 文件共享卷,但没有成功。
下面是我使用的pod部署文件
kind: Pod
apiVersion: v1
metadata:
name: mypod
spec:
containers:
- name: mypod
image: image:tag
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 250m
memory: 1Gi
volumeMounts:
- mountPath: "/config.yaml"
name: volume
volumes:
- name: volume
persistentVolumeClaim:
claimName: my-azurefile-storage
需要有关如何使用本地 config.yaml 文件进行 aks 部署的帮助,以便图像可以 运行 正确。
提前致谢。
使用 config.yaml
文件创建一个 kubernetes secret。
kubectl create secret generic config-yaml --from-file=config.yaml
将其作为卷安装在 pod 中。
apiVersion: v1
kind: Pod
metadata:
name: config
spec:
containers:
- name: config
image: alpine
command:
- cat
resources: {}
tty: true
volumeMounts:
- name: config
mountPath: /config.yaml
subPath: config.yaml
volumes:
- name: config
secret:
secretName: config-yaml
执行到 pod 并查看文件。
kubectl exec -it config sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
/ # ls
bin dev home media opt root sbin sys usr
config.yaml etc lib mnt proc run srv tmp var
/ # cat config.yaml
---
apiUrl: "https://my.api.com/api/v1"
username: admin
password: password