阿里云容器服务ACK集群如何使用BYOK创建加密云盘

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 当您的业务因为安全需求或法规合规要求等原因,需要对存储在云盘上的数据进行加密保护时,您可以在ACK容器集群中使用云盘加密功能,无需构建、维护和保护自己的密钥管理基础设施,即可保护数据的隐私性和自主性。

当您的业务因为安全需求或法规合规要求等原因,需要对存储在云盘上的数据进行加密保护时,您可以在ACK容器集群中使用云盘加密功能,无需构建、维护和保护自己的密钥管理基础设施,即可保护数据的隐私性和自主性。

使用BYOK创建加密云盘时,系统需要使用同一地域的密钥管理服务(KMS)提供的BYOK(Bring Your Own Key)。因此,首次通过控制台或者API使用云盘加密功能之前,您必须先开通密钥管理服务

1. 创建BYOK

登录密钥管理服务控制台
创建BYOK并记录密钥ID:
image

2. 创建StorageClass使用BYOK

在ACK容器集群中新建StorageClass并配置encrypted: "true" kmsKeyId: <your BYOK> 使用BYOK,示例如下:

$ cat storageclass-ssd-byok.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alicloud-disk-ssd-byok
parameters:
  type: cloud_ssd
  encrypted: "true"
  kmsKeyId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
provisioner: alicloud/disk
reclaimPolicy: Delete
$ kubectl apply -f storageclass-ssd-byok.yaml

查看StorageClass:

$ kubectl get sc
NAME                       PROVISIONER     AGE
alicloud-disk-available    alicloud/disk   19m
alicloud-disk-efficiency   alicloud/disk   19m
alicloud-disk-essd         alicloud/disk   19m
alicloud-disk-ssd          alicloud/disk   19m
alicloud-disk-ssd-byok     alicloud/disk   28s

3. 创建示例应用创建并挂载云盘

$ cat deploy.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: disk-ssd-byok
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: alicloud-disk-ssd-byok
  resources:
    requests:
      storage: 20Gi
---
kind: Pod
apiVersion: v1
metadata:
  name: disk-pod-ssd-byok
spec:
  containers:
  - name: disk-pod-byok
    image: nginx
    volumeMounts:
      - name: disk-pvc-byok
        mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
    - name: disk-pvc-byok
      persistentVolumeClaim:
        claimName: disk-ssd-byok
$ kubectl apply -f deploy.yaml

查看PV:

$ kubectl get pv
NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                   STORAGECLASS             REASON   AGE
d-j6c5jezzajt9ri47lvjs   20Gi       RWO            Delete           Bound    default/disk-ssd-byok   alicloud-disk-ssd-byok            8s

我们可以在 ECS控制台 查看 volume id为 d-j6c5jezzajt9ri47lvjs 的云盘是否已加密:
image

4. 报错及解决办法

报错信息1:

provision volume with StorageClass "alicloud-disk-ssd-zones-encrypt": Aliyun API Error: RequestId: DA0DD66A-38C0-4C91-98DB-A4D0B27A783A Status Code: 403 Code: UserNotInTheWhiteList Message: The user is not in byok white list.

解决办法:
给ecs开工单添加使用权限

报错信息2:

6bc5d686-1201-11ea-83de-0a58ac160203 Failed to provision volume with StorageClass "alicloud-disk-ssd-zones-encrypt": Aliyun API Error: RequestId: 81FB907C-210F-440F-8C3E-00DEE6BF2A47 Status Code: 403 Code: InvalidParameter.KMSKeyId.KMSUnauthorized Message: ECS service have no right to access your KMS.

解决办法:
用户账号需要添加AliyunECSDiskEncryptDefaultRole

5. 其他

更多关于云盘加密以及BYOK的介绍请参考:
https://help.aliyun.com/document_detail/107972.html

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
存储 Kubernetes Docker
容器服务ACK常见问题之阿里云控制台进不去了如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
1月前
|
SQL 分布式计算 关系型数据库
阿里云E-MapReduce Trino专属集群外连引擎及权限控制踩坑实践
本文以云厂商售后技术支持的角度,从客户的需求出发,对于阿里云EMR-Trino集群的选型,外连多引擎的场景、Ldap以及Kerberos鉴权等问题进行了简要的实践和记录,模拟客户已有的业务场景,满足客户需求的同时对过程中的问题点进行解决、记录和分析,包括但不限于Mysql、ODPS、Hive connector的配置,Hive、Delta及Hudi等不同表格式读取的兼容,aws s3、阿里云 oss协议访问异常的解决等。
|
2月前
|
人工智能 运维 Kubernetes
阿里云容器服务ACK AI助手正式上线带来的便利性
作为开发者想必大家都知道,云原生容器技术的优势,尤其是近两年的随着容器技术的迅猛发展,Kubernetes(K8s)已成为广泛应用于容器编排和管理的领先解决方案,但是K8s的运维复杂度一直是挑战之一。为了应对这一问题,就在最近,阿里云容器服务团队正式发布了ACK AI助手,这是一款旨在通过大模型增强智能诊断的产品,旨在帮助企业和开发者降低Kubernetes(K8s)的运维复杂度。那么本文就来详细讲讲关于这款产品,让我们结合实际案例分享一下K8s的运维经验,探讨ACK AI助手能否有效降低K8s的运维复杂度,并展望ACK AI助手正式版上线后的新功能。
268 2
阿里云容器服务ACK AI助手正式上线带来的便利性
|
22天前
|
消息中间件 Kubernetes Kafka
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
Terraform阿里云创建资源1分钟创建集群一键发布应用Terraform 创建 Kubernetes 集群
15 0
|
28天前
|
弹性计算 缓存 Kubernetes
什么是阿里云弹性容器实例?弹性容器实例优势及应用场景介绍
弹性容器实例是阿里云的云服务器产品,使用弹性容器实例之后,用户无需管理底层 ECS 服务器,只需要提供打包好的镜像,即可运行容器,与阿里云容器服务无缝对接并仅为容器实际运行消耗的资源付费。本文介绍了阿里云弹性容器实例的、功能特性、产品优势及应用场景。
什么是阿里云弹性容器实例?弹性容器实例优势及应用场景介绍
|
2月前
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
170 0
|
2月前
|
Kubernetes 监控 Cloud Native
阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)考试大纲
介绍阿里云云原生容器高级工程师认证(ACP级-Alibaba Cloud Certification Professional)所需具备的知识及学习方法等。
174 2
|
8月前
|
人工智能 Cloud Native 文件存储
阿里云容器服务ACK云原生AI套件测评
随着人工智能(AI)技术的快速发展,越来越多的企业开始在其业务中引入AI能力,以提高运营效率、优化用户体验,以及创造新的商业价值。像我们这种小型企业也不例外,希望通过集成先进的AI技术来提升业务运营的智能化水平。在这样的背景下,阿里云容器服务ACK推出了云原生AI套件,它能够帮助企业在Kubernetes容器平台上快速构建和运行AI应用,实现全栈优化。本次通过一次实验体验,简单对云原生AI套件进行测评。
96729 1
|
7月前
|
边缘计算 运维 Kubernetes
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
1017 0
阿里云原生容器服务产品体系-阿里云边缘容器服务ACK@Edge介绍
|
3月前
|
Kubernetes 监控 调度
阿里云容器服务ACK
阿里云容器服务ACK(Alibaba Cloud Container Service for Kubernetes)提供高性能、可伸缩的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。在ACK中,利用cGPU(Containerized GPU)技术可以实现GPU资源的共享,提高GPU利用率,降低整体成本。
68 6

相关产品

  • 容器服务Kubernetes版