Kubernetes 将目录挂载到 Azure china fi

2018-12-10  本文已影响0人  leeehao

目标

将 ES 数据挂载到 Azure 存储账户的 File System

K8S 在 1.7 左右支持了,PV 模式,意在将一些持久化工作“独立”出来。
这边以 Azure 环境作一次探索,前提是对 Azure 的存储账户有一定了解。

开通 Azure 存储账户

创建一个名为 kubernetes 的存储账户,并创建一个 File 组 test
TIPS:取得密钥备用

echo -n zp0sadsadasdasdasdjhsakjdhsakdhaskjstIPnA== 

创建 secret

base64 账户名和密钥

echo -n kubernetes | base64
echo -n zp0sadsadasdasdasdjhsakjdhsakdhaskjstIPnA==  | base64

创建 secret.yaml 并键入 base64 后的值

apiVersion: v1
kind: Secret
metadata:
  name: azure-secret
type: Opaque
data:
  azurestorageaccountname: a3ViasdasdasduasdasasdasdGE=
  azurestorageaccountkey: enAwWWt2ZlBSaasdasdhaskjdhasdhaskj3M1ZqasdasdaQ==

kubectl create -f secret.yaml

创建一个示例POD

这里以 Nginx 为例子,注意填写 secretName 和 shareName

apiVersion: v1
kind: Pod
metadata:
 name: nginx
spec:
 containers:
  - image: nginx
    name: nginx
    volumeMounts:
      - name: azure
        mountPath: /mnt/azure
 volumes:
      - name: azure
        azureFile:
          secretName: azure-secret
          shareName: test
          readOnly: false

kubectl create -f azure.yaml

查看是否创建成功

root# kubectl get pods
NAME      READY     STATUS    RESTARTS   AGE
nginx     1/1       Running   0          17s

进入容器内查看

root@nginx:/mnt/azure# df -Th
Filesystem                                       Type     Size  Used Avail Use% Mounted on
overlay                                          overlay   30G  3.6G   26G  13% /
tmpfs                                            tmpfs     64M     0   64M   0% /dev
tmpfs                                            tmpfs    3.5G     0  3.5G   0% /sys/fs/cgroup
//kubernetes.file.core.chinacloudapi.cn/test     cifs      10G     0   10G   0% /mnt/azure
/dev/sda1                                        ext4      30G  3.6G   26G  13% /etc/hosts
shm                                              tmpfs     64M     0   64M   0% /dev/shm
tmpfs                                            tmpfs    3.5G   12K  3.5G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                                            tmpfs    3.5G     0  3.5G   0% /proc/acpi
tmpfs                                            tmpfs    3.5G     0  3.5G   0% /proc/scsi
tmpfs                                            tmpfs    3.5G     0  3.5G   0% /sys/firmware

这里已经挂载成功

相关链接

https://stackoverflow.com/questions/44707379/mounting-azure-file-storage-in-docker-container-via-kubernetes
https://github.com/kubernetes/kubernetes/issues/46081
https://github.com/kubernetes/kubernetes/blob/master/pkg/volume/azure_file/azure_file.go#L210

上一篇下一篇

猜你喜欢

热点阅读