使用OSS静态卷
本文为您介绍使用OSS静态存储卷的几种方式。
直接使用 volume 方式
- 创建并复制以下内容到oss-deploy.yaml中。
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-oss-deploy spec: replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx-flexvolume-oss image: nginx volumeMounts: - name: "oss1" mountPath: "/data" livenessProbe: exec: command: - sh - -c - cd /data initialDelaySeconds: 30 periodSeconds: 30 volumes: - name: "oss1" flexVolume: driver: "alicloud/oss" options: bucket: "docker" url: "oss-cn-hangzhou.aliyuncs.com" akId: *** akSecret: *** otherOpts: "-o max_stat_cache_size=0 -o allow_other"
- 执行如下命令,创建Pod。
kubectl apply -f oss-deploy.yaml
使用 PV/PVC
- 创建 PV。
您可以使用 yaml 文件或者通过容器服务控制台界面创建 PV。
- 使用 yaml 文件创建 PV
使用oss-pv.yaml文件创建 PV。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-oss spec: capacity: storage: 5Gi accessModes: - ReadWriteMany storageClassName: oss flexVolume: driver: "alicloud/oss" options: bucket: "docker" url: "oss-cn-hangzhou.aliyuncs.com" akId: *** akSecret: *** otherOpts: "-o max_stat_cache_size=0 -o allow_other"
- 通过控制台界面创建 OSS 存储卷
- 登录容器服务管理控制台。
- 在 Kubernetes 菜单下,单击左侧导航栏中的集群 > 存储卷,进入存储与存储声明页面。
- 在存储卷页签,选择所需的集群,单击创建。
- 在创建数据卷对话框中,配置数据卷的相关参数。
- 存储卷类型:本示例中为 OSS。
- 数据卷名:创建的数据卷的名称。数据卷名在集群内必须唯一。本例为 pv-oss。
- 总量:所创建存储卷的容量。
- 访问模式:默认为 ReadWriteMany。
- AccessKey ID、AccessKey Secret:访问 OSS 所需的 AccessKey。
- 可选参数:您可以为OSS存储卷输入定制化参数,格式为:
-o *** -o ***
。 - Bucket ID:您要使用的 OSS bucket 的名称。单击选择Bucket,在弹出的对话框中选择所需的 bucket 并单击选择。
- 访问域名:如果 Bucket 和 ECS 实例位于不同地域(Region),请选择外网域名;如果位于相同地域,需要根据集群网络类型进行选择,若是 VPC 网络,请选择VPC域名,若是经典网络,请选择内网域名。
- 标签:为该存储卷添加标签。
- 完成配置后,单击创建。
- 使用 yaml 文件创建 PV
- 创建 PVC。
使用oss-pvc.yaml文件创建 PVC。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-oss spec: storageClassName: oss accessModes: - ReadWriteMany resources: requests: storage: 5Gi
- 创建 Pod。
使用oss-deploy.yaml创建 Pod。
apiVersion: apps/v1 kind: Deployment metadata: name: oss-static labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 volumeMounts: - name: pvc-oss mountPath: "/data" livenessProbe: exec: command: - sh - -c - cd /data initialDelaySeconds: 30 periodSeconds: 30 volumes: - name: pvc-oss persistentVolumeClaim: claimName: pvc-oss
通过Secret方式使用AccessKey
- 执行如下命令,创建Secret。
# kubectl create secret generic osssecret --from-literal=akId='111111' --from-literal=akSecret='2222222' --type=alicloud/oss -n default akId: 为用户的Access Key ID; akSecret:为用户的Access Key Secret; secret类型:配置为alicloud/oss 名词空间:需要与期望的pod相同在相同namespace; osssecret:为secret的名字,可以自行配置;
- 在PV中使用Secret。
在PV中通过secretRef字段定义Secret。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-oss spec: capacity: storage: 5Gi accessModes: - ReadWriteMany storageClassName: oss flexVolume: driver: "alicloud/oss" secretRef: name: "osssecret" options: bucket: "docker" url: "oss-cn-hangzhou.aliyuncs.com" otherOpts: "-o max_stat_cache_size=0 -o allow_other"
- 在Volume中使用Secret。
Volume中通过secretRef字段定义Secret。
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-oss-deploy1 spec: replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx-flexvolume-oss image: nginx volumeMounts: - name: "oss1" mountPath: "/data" subPath: "hello" volumes: - name: "oss1" flexVolume: driver: "alicloud/oss" secretRef: name: "osssecret" options: bucket: "aliyun-docker" url: "oss-cn-hangzhou.aliyuncs.com" otherOpts: "-o max_stat_cache_size=0 -o allow_other"
说明 使用Secret方式配置AccessKey时,应用(Pod)所在的Namespace要和Secret所在的Namespace一致。
发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/csk/5386.html

相关推荐
-
附录 :标签映射列表
Swarm标签名Swarm标签含义对应 Kubernetes 配置方案Swarm 配置示例Kubernetes 配置示例如何迁移nameservice 名称 无特殊作用,可忽略 Kubernetes 不支持,迁移忽略 略 略 无法迁移 image 容器镜像 image标签 略 略…
-
迁移应用配置概述
本文将介绍在运维人员完成集群配置迁移后,开发人员如何将Swarm集群里面的应用配置迁移到Kubernetes 集群。其主要包括准备应用迁移环境、预处理和转换应用的Swarm编排文件;然后部署转换得到的Kubernetes 资源文件,针对其中不支持自动转换的应用配置做手动迁移,最后…
2019年12月13日 -
绑定虚拟服务
本文主要为您介绍如何绑定虚拟服务。 前提条件 您已成功创建一个 Kubernetes 集群,参见创建Kubernetes 集群。 您已成功部署Istio,参见部署Istio。 您已经创建了一个虚拟服务。 操作步骤 登录容器服务管理控制台。 在 Kubernetes 菜单下, 单击…
2019年12月13日 -
概述
本文介绍如何利用阿里云容器服务的Ingress功能,实现灰度发布和蓝绿发布。 背景信息 灰度及蓝绿发布是为新版本创建一个与老版本完全一致的生产环境,在不影响老版本的前提下,按照一定的规则把部分流量切换到新版本,当新版本试运行一段时间没有问题后,将用户的全量流量从老版本迁移至新版本…
2019年12月13日 -
通过CodePipeline构建项目并部署到Kubernetes集群
您可以通过CodePipeline,构建代码工作流模板、编译应用、构建与推送容器镜像、发布Kubernetes应用,从而实现利用代码发布应用的全过程自动化。本文以构建一个Java软件项目并将其部署到Kubernetes集群为例,说明如何使用CodePipeline。 CodePi…
-
使用yaml文件创建应用比对
本文介绍容器服务Swarm集群与Kubernetes集群使用yaml文件创建应用时,Swarm集群下的yaml文件与Kubernetes集群下的yaml文件的对应关系。 背景信息 在使用yaml文件创建应用时,Swarm集群与Kubernetes集群的yaml文件格式不一样: 您…
2019年12月13日