如何在 azure 云服务上通过 kubernetes 检查持久卷的内容

张泽栋*_*张泽栋 6 containers docker azure-cloud-services kubernetes

我已将软件打包到容器中。我需要通过 Azure 容器服务将容器放入集群。该软件有一个目录的输出/src/data/,我想访问整个目录的内容。

搜索后,我必须解决。

  1. 在 azure 上使用 Blob Storage,但是搜索之后,我找不到可执行方法。
  2. 使用 Persistent Volume,但是我找到的所有 azure 和 pages 的官方文档都是关于 Persistent Volume 本身,而不是关于如何检查它。

我需要访问和管理 Azure 集群上的输出目录。换句话说,我需要一个救世主。

sau*_*ger 25

正如我在这里这里所解释的,一般来说,如果您可以使用 与集群进行交互kubectl,您可以创建一个 Pod/容器,在内部安装 PVC,并使用容器的工具来处理ls内容等。如果您需要更高级的编辑工具,请将容器镜像替换busybox为自定义镜像。

创建检查器 Pod

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
  name: pvc-inspector
spec:
  containers:
  - image: busybox
    name: pvc-inspector
    command: ["tail"]
    args: ["-f", "/dev/null"]
    volumeMounts:
    - mountPath: /pvc
      name: pvc-mount
  volumes:
  - name: pvc-mount
    persistentVolumeClaim:
      claimName: YOUR_CLAIM_NAME_HERE
EOF
Run Code Online (Sandbox Code Playgroud)

或者,我创建了一个模板服务来简化此类任务:

kubectl apply -f 'https://k8s.sauerburger.com/t/pvc-inspect.yaml?image=busybox&name=pvc-inspector&pvc=YOUR_CLAIM_NAME_HERE'
Run Code Online (Sandbox Code Playgroud)

检查内容

kubectl exec -it pvc-inspector -- sh
$ ls /pvc
Run Code Online (Sandbox Code Playgroud)

清理

kubectl delete pod pvc-inspector
Run Code Online (Sandbox Code Playgroud)