栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

部署式文件系统Ozone对接Ranger KMS 实现TDE

部署式文件系统Ozone对接Ranger KMS 实现TDE

前言

公司隐私计算的项目准备使用K8S来运行计算的任务和工作调度,隐私计算的源数据放到分布式文件系统中,通过对接Ranger KMS实现透明数据加密(Transparent Data Encryption,缩写TDE). 前面一篇文章(https://blog.csdn.net/lwlfox/article/details/121068645)已经实现了未开启TDE模式,这篇文章将介绍如何从非TDE模式切换到带TDE模式并与K8S 对接。

必读

https://blog.csdn.net/lwlfox/article/details/121068645https://blog.csdn.net/lwlfox/article/details/121068645

修改集群配置

1. 将下面的文件复制到所有Ozone的节点中,我的环境中有4个节点。路径为: /opt/hadoop/etc/hadoop/core-site.xml 。

配置中的IP+端口,为KMS服务的地址,Ranger KMS的安装文档参考: Apache Ranger KMS 部署文档_偷闲小苑-CSDN博客








    
        hadoop.security.key.provider.path
        kms://http@10.228.82.21:9292/kms
    

KMS地址查看

 2. 重启管理节点上的所有服务(停止顺序: RECON->S3G->OM-SCM,启动顺序: SCM->OM->S3G->RECON)

#停止
[root@vm10-50-0-80 hadoop]# ozone --daemon stop recon
[root@vm10-50-0-80 hadoop]# ozone --daemon stop s3g
[root@vm10-50-0-80 hadoop]# ozone --daemon stop om
[root@vm10-50-0-80 hadoop]# ozone --daemon stop scm
#启动
[root@vm10-50-0-80 hadoop]# ozone --daemon start scm
[root@vm10-50-0-80 hadoop]# ozone --daemon stop om
[root@vm10-50-0-80 hadoop]# ozone --daemon stop s3g
[root@vm10-50-0-80 hadoop]# ozone --daemon stop recon

3. 重启所有3 个DATANODE节点 ,

ozone --daemon stop datanode
ozone --daemon start datanode

4. 检查所有3个DATANODE运行正常,在任意Ozone节点运行以下命令

ozone admin datanode list

5. 创建带KMS地址的ozone镜像

#root 登录到Master节点
git clone https://gitee.com/kevinliu_CQ/ozone-1-1-0-csi.git
cd ozone-1-1-0-csi/ozone-docker
vi core-site.xml #修改配置文件中的IP 和端口
docker build -t ozone-with-kms:1.1.0 -f Dockerfile_with_KMS .
docker tag ozone-with-kms:1.1.0 registry.cn-hangzhou.aliyuncs.com/imagesfromgoogle/ozone-with-kms:1.1.0 #tag为自己的镜像仓库
docker push registry.cn-hangzhou.aliyuncs.com/imagesfromgoogle/ozone-with-kms:1.1.0 #将镜像推送到自己的仓库中

6. 更新CSI使用的镜像

#root 登录到Master节点
git clone https://gitee.com/kevinliu_CQ/ozone-1-1-0-csi.git
cd ozone-1-1-0-csi/with-tde
vi csi-ozone-datanode-daemonset.yaml #将编排中的zone的镜像替换为刚刚构建的镜像
vi csi-ozone-provisioner-deployment.yaml #将编排中的zone的镜像替换为刚刚构建的镜像
kubectl apply -f . # 等待csi-daemontset和csi-provisioner更新完成

7. 创建加密区

#root登录Ozone 的SCM节点,执行以下命令
#其中test_key1为在KMS里面创建的Key
ozone sh bucket create -k test_key1 /s3v/encrypt 
[root@vm10-50-0-80 hadoop]# ozone sh bucket list /s3v
{
  "metadata" : { },
  "volumeName" : "s3v",
  "name" : "encrypt",
  "storageType" : "DISK",
  "versioning" : false,
  "usedBytes" : 268435486,
  "usedNamespace" : 6,
  "creationTime" : "2021-10-31T07:53:09.803Z",
  "modificationTime" : "2021-10-31T07:53:09.803Z",
  "encryptionKeyName" : "test_key1",  #加密区使用的KMS Key
  "sourceVolume" : null,
  "sourceBucket" : null,
  "quotaInBytes" : -1,
  "quotaInNamespace" : -1
}

8. 向加密区写入数据

[root@vm10-50-0-80 hadoop]#ozone sh key put /s3v/encrypt/ENcryptedKey Readme.md

9. 制作挂载加密区的镜像

#root 登录到Master节点
git clone https://gitee.com/kevinliu_CQ/ozone-1-1-0-csi.git
cd ozone-TDE-docker
docker build -t ozone-client:1.0.0 .
docker tag ozone-client:1.0.0 registry.cn-hangzhou.aliyuncs.com/imagesfromgoogle/ozone-client:1.0.0 #tag为自建的容器仓库
docker push registry.cn-hangzhou.aliyuncs.com/imagesfromgoogle/ozone-client:1.0.0 #推送镜像到自己的仓库

 10. 挂载加密区并创建非加密区PVC

#root 登录到Master节点
git clone https://gitee.com/kevinliu_CQ/ozone-1-1-0-csi.git
cd pvc-test
kubectl apply -f ozone-client-pvc.yaml -f ozone-client-deployment.yaml

11. 登录到zone-client容器中进行加密区与非加密区的文件操作,客户端无感知是否为加密或未加密。/mnt为加密区  /data/为非加密区

[root@vm10-10-0-160 pvc-test]# kubectl exec -it ozone-client-6dc754db6c-cbnt7 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.

[root@ozone-client-6dc754db6c-cbnt7 /]# ls /data 
KK  Key
[root@ozone-client-6dc754db6c-cbnt7 /]# ls /mnt
KEVIN  KK
[root@ozone-client-6dc754db6c-cbnt7 /]# df -h /data
Filesystem                                Size  Used Avail Use% Mounted on
pvc-f8d7e8eb-26ea-44e1-a07f-8cf6cfee4cf1  1.0P     0  1.0P   0% /data
[root@ozone-client-6dc754db6c-cbnt7 /]# df -h  /mnt
Filesystem      Size  Used Avail Use% Mounted on
encrypt         1.0P     0  1.0P   0% /mnt

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423305.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号