带你读《云原生机密计算最佳实践白皮书》——AMD SEV机密容器(4)

简介: 带你读《云原生机密计算最佳实践白皮书》——AMD SEV机密容器(4)

《云原生机密计算最佳实践白皮书》——06运行时底座——AMD SEV机密容器(3) https://developer.aliyun.com/article/1231028?groupCode=aliyun_linux



步骤四:运行workload

示例一:运行一个未加密的容器镜像

为了验证主机上不存在容器镜像,应该登录到 k8s 节点并确保以下命令返回空结果:

crictl -r unix:///run/containerd/containerd.sock image ls | grep bitnami/nginx

启动POD

cat <<-EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
 labels:
 run: nginx
 name: nginx
spec:
 containers:
 - image: bitnami/nginx:1.22.0
 name: nginx
 dnsPolicy: ClusterFirst
 runtimeClassName: kata
EOF

预期结果:

pod/nginx created

查看 pod 状态:

kubectl get pods

预期结果如下,注意, STATUS 要是 Running 。

NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 3m50s

示例二:运行一个加密容器

attestation agent 支持两种SEV平台相关的KBC:offlfflffline_sev_kbc 和 online_sev_kbc。

• offlfflffline sev KBC 在运行时不会与 Simple KBS 进行通信,而是使用在VM Boot时期通过QEMU注入的secret。该机制的缺点是对注入的 secret 长度有限制。

• online sev KBC 在offlfflffline sev KBC的基础上,支持在运行时发出请求。online sev KBC 在VM Boot时期通过QEMU注入connection。注入的connection包含一个对称密钥,用于加密和验证 KBC 发出的在线请求。 该连接受 SEV(-ES) 秘密注入过程保护,该过程提供机密性、完整性并防止重放攻击。 simple-kbs 为每个连接生成一个新的对称密钥。 KBC 要求每个在线secret都带有随机 guid 以防止重放攻击。

注意:offlfflffline_sev_kbc 和 online_sev_kbc 是两种option,用户只需要采用一种KBC方式运行镜像即可。

导出SEV证书链

sevctl 是 SEV 平台的命令行管理工具,Kata 机密容器需要 SEV 证书链从而与guest owner建立安全会话。请按照以下步骤安装 sevctl:

dnf install sevctl

SEV 证书链必须放在 /opt/sev 中,使用以下命令导出 SEV 证书链:

mkdir -p /opt/sev
sevctl export --full /opt/sev/cert_chain.cert




《云原生机密计算最佳实践白皮书》——06运行时底座——AMD SEV机密容器(5) https://developer.aliyun.com/article/1231024?groupCode=aliyun_linux

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
4月前
|
存储 监控 安全
【专栏】探讨Docker Compose的核心概念、使用方法及最佳实践,助你轻松驾驭容器编排的世界
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。
386 2
|
4月前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
1月前
|
Kubernetes 安全 Serverless
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
63 5
|
1月前
|
人工智能 Kubernetes 持续交付
Kubernetes环境下基于微服务架构的容器化AI应用部署与管理最佳实践
【8月更文第19天】随着AI技术的快速发展,越来越多的企业开始将AI应用部署到生产环境。然而,AI应用往往包含大量的组件和服务,这使得其部署和管理变得非常复杂。微服务架构和容器化技术(如Docker)结合Kubernetes集群管理,为解决这些问题提供了强大的工具。本文将介绍如何在Kubernetes环境中部署和管理基于微服务架构的容器化AI应用。
56 0
|
2月前
|
存储 SQL Cloud Native
云原生数据仓库使用问题之运行MySQL命令发现中文内容变成了问号,该如何解决
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
3月前
|
Kubernetes 虚拟化 Docker
容器:现代计算的基础设施
容器:现代计算的基础设施
51 4
|
3月前
|
机器学习/深度学习 Kubernetes 算法框架/工具
容器服务 ACK 大模型推理最佳实践系列一:TensorRT-LLM
在 ACK 中使用 KServe 部署 Triton+TensorRT-LLM
|
4月前
|
监控 安全 数据库
【Docker专栏】Docker容器化应用的最佳实践
【5月更文挑战第7天】本文介绍了 Docker 容器化应用的关键最佳实践,包括使用官方基础镜像、保持镜像精简、以非 root 用户运行容器、安全扫描、编写高效 Dockerfile、环境隔离、使用数据卷、选择合适网络模式、设置资源限制、使用版本标签、容器编排以及文档和自动化部署。遵循这些实践可提升效率和安全性,同时要注意随着技术发展不断更新知识。
128 10
【Docker专栏】Docker容器化应用的最佳实践
|
4月前
|
负载均衡 Kubernetes Cloud Native
云原生最佳实践系列2:基于 MSE 云原生网关同城多活
通过使用阿里云的云原生微服务引擎 MSE,可以实现注册中心的同城容灾多活微服务应用。MSE 提供了云原生网关和注册中心,支持机房级故障的秒级自动转移、非对等部署下的全局流量负载均衡以及流量精细化管控。
753 43
|
4月前
|
Kubernetes 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与Kubernetes集成:容器化部署的最佳实践
【5月更文挑战第21天】本文介绍了将阿里云的高性能数据库PolarDB与容器编排工具Kubernetes集成的步骤。首先,需准备Kubernetes集群和PolarDB Docker镜像,安装Helm。然后,通过Helm部署PolarDB,设置存储类和副本数。接着,应用配置PolarDB连接信息,打包成Docker镜像并在K8s集群中部署。此外,调整PolarDB参数以优化性能,并使用Prometheus和Grafana监控。本文为PolarDB在Kubernetes中的最佳实践提供了指导。
118 4