云服务器内容精选

  • 简介 CCE集群成功将负载弹性到CCI运行起负载后,用户可以通过CCE的“CCE Log Collector”插件来收集pod的日志,提升工作负载的可观测性。通过阅读本章用户可以快速搭建日志平台,在CCE的日志观测CCI侧日志。 弹性到CCI的负载会默认开启容器标准输出采集并上报到 应用运维管理 AOM 每月赠送每个租户500M的免费日志存储空间,超过500M时将根据实际使用量进行收费,计费规则请参见产品价格详情。 若要关闭标准输出采集可通过在Pod annotation中指定log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}'实现,参考示例: kind: Deployment apiVersion: apps/v1 metadata: name: test namespace: default spec: replicas: 1 template: metadata: annotations: log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}' spec: containers: - name: container-1 image: nginx:latest
  • 约束与限制 使用场景 使用说明 CCE内容器日志采集 + CCI集群容器日志采集 CCE集群内的工作负载支持三种日志采集类型: 容器标准输出:采集集群内指定容器日志,仅支持Stderr和Stdout的日志。 容器文件日志:采集集群内指定容器内的文件日志。 节点文件日志:采集集群内指定节点路径的文件。 须知: 弹性到CCI的工作负载仅支持“容器文件日志”类型的采集策略。 不支持采集的日志文件类型 不支持容器中软链路径的日志采集。 pod通过指定系统、设备、cgroup、tmpfs等挂载目录下的日志无法被采集。 弹性CCI的pod关联多个日志采集策略 为了更好的采集日志,建议为pod预留充足内存。pod被第一个日志策略关联请预留至少50MiB内存。每增加一个关联日志采集策略,建议多预留5MiB内存。 超长日志采集 单条日志最大容量为250KB,超过会被丢弃。 日志采集文件名 audit.log,oss.icAgent.trace,oss.script.trace,audit_*.log这几类日志默认不采集,请勿使用以上几类命名采集日志。 超长日志文件名 容器中长度超过190的日志文件无法被采集。容器中长度在180~190范围的日志文件仅支持采集第一个文件。 日志采集速率 单个Pod单行日志采集速率不超过10000条/秒,多行日志不超过2000条/秒。 最大采集文件数 单个Pod所有日志采集策略监听的文件数不超过2000个文件。 容器停止前日志采集 当容器被停止时,如果出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。
  • 操作步骤 安装“云原生日志采集插件”和“CCE 突发弹性引擎 (对接 CCI)”插件。 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“安装”。 在安装配置中需要勾选“网络互通”功能。 选择“云原生日志采集插件”,单击“安装”。 创建弹性到CCI的负载。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载。 填写基本信息并完成工作负载创建。更多创建弹性到CCI负载的方式,请参考调度负载到CCI。 配置日志采集策略。 在导航栏左侧单击“日志中心”,进入日志中心首页。 单击“日志采集策略”,进入日志采集策略创建的界面。 配置具体日志采集策略,完成后单击“确定”。 弹性到CCI的Pod不支持日志策略热更新,更新日志采集策略后需要重新部署弹性到CCI的Pod才可生效。 查看弹性到CCI的pod yaml。 为支持CCI pod日志被采集到日志中心,CCE插件CCE Log Collector为pod注入了如下四个annotation: annotation 示例值 coordinator.cci.io/inject-volumes '[{"name":"log-agent-conf","configMap":{"name":"log-agent-cci-logging-config","defaultMode":384},"namespace":"monitoring"},{"name":"log-agent-cert","secret":{"secretName":"log-agent-ca-secret","defaultMode":384},"namespace":"monitoring"}]' logconf.k8s.io/fluent-bit-configmap-reference monitoring-log-agent-cci-logging-config logconfigs.logging.openvessel.io '{"testcci001":{"container_files":{"container-1":"/var/test/*/*.log"},"regulation":""}}'' sandbox-volume.openvessel.io/volume-names log-agent-conf,log-agent-cert 在日志中心查看日志上报。 CCE集群日志中心更详细的用法可以参考CCE插件CCE Log Collector相关文档指导。
  • 添加日志存储 在创建负载的时候设置为容器添加日志存储。 容器内日志路径:即日志存储挂载到容器内的挂载路径,需要保证应用程序的日志输出路径与该路径一致,这样日志才能写入到日志存储卷中。 请确保日志存储卷路径在当前容器内是不存在的,否则会把容器内这个路径下的内容清空。 目前只支持日志路径下的“.log”、“.trace”、“.out”日志文件。 最多只能采集20个日志文件,也就是说您的日志最多只能输出到日志路径下的20个文件中。 日志存储空间:日志的存储空间大小。 AOM每月赠送每个租户500M的免费日志存储空间,超过500M时将根据实际使用量进行收费,计费规则请参见产品价格详情。 日志存储空间取值请确保为1或2,后台调api接口创建负载时,请确保取值为1GiB或2GiB。 该空间为免费空间,超时不采集,如果日志文件超过2G,请您提前做好转储。 图2 使用日志存储
  • CCE集群pod与CCI集群中pod通过service互通的使用指导 安装插件,勾选”网络互通“功能。 安装成功后租户账号下会自动创建负载均衡器,可以通过网络控制台进行查看。 创建弹性CCI侧pod,并配置service发布。 为了方便验证,镜像选择暴露容器80端口的nginx。 为工作负载配置service。推荐自动创建新的负载均衡器,以避免和插件自动创建的elb产生冲突。 通过CCE集群控制台,获取该负载的访问方式。 创建CCE侧pod,并配置service发布。方法请参考步骤2,不选择弹性CCI标签。 验证网络互访。 创建弹性CCI的工作负载,镜像选择含有curl命令的镜像,如centos。 通过CCI侧进入该容器,执行图中命令,观测CCI访问CCE service网络打通。 图1 访问CCI pod的service 图2 访问CCE pod的service 同理创建CCE侧pod,镜像选择含有curl命令的镜像,如centos。执行相同的命令。观测CCE访问CCI service网络打通。
  • 约束与限制 使用共享VPC的CCE集群不支持开启“网络互通”功能。 使用CCE集群中的Bursting插件对接CCI 2.0服务,支持配置独享型ELB的Ingress,不支持配置ELB类型的Service。 当前网络互通能力依赖sidecar容器的启动,因此在初始化容器中暂不支持使用网络互通能力,且业务容器如果使用preStart、postStart功能阻塞后续容器的启动会导致网络互通能力异常。 跨CCE和CCI实例Service网络互通只支持集群内访问(ClusterIP)类型。不支持在init-container中访问CCE侧ClusterIP service。 跨CCE和CCI实例,在对接LoadBalancer类型的Service或Ingress时: 禁止指定健康检查端口,在CCE集群下,由于CCI的容器与CCE的容器在ELB注册的后端使用端口不一致,指定健康检查端口会导致部分后端健康检查异常。 跨集群使用Service对接同一个ELB的监听器时,需确认健康检查方式,避免服务访问异常。 跨CCE和CCI实例,在对接共享型LoadBalancer类型的Service时,需要放通node安全组下100.125.0.0/16网段的容器端口。 当前对接LoadBalancer类型的Service或Ingress仅支持auto和enforce调度策略。
  • 什么是区域、可用区? 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 与其他服务的关系 云容器实例需要与其他云服务协同工作,云容器实例需要获取如下云服务资源的权限。 图1 云容器实例与其他服务的关系 容器镜像服务 容器 镜像服务 (Software Repository for Container,SWR)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。 您可以使用容器镜像服务中的镜像创建负载。 虚拟私有云 虚拟私有云(Virtual Private Cloud,VPC)是用户在云平台上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 您创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内。 弹性负载均衡 弹性负载均衡( Elastic Load Balance,ELB)将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。 您可以通过弹性负载均衡,从外部网络访问容器负载。 应用运维管理 应用运维管理(Application Operations Management,AOM)为运维人员提供一站式立体运维平台,实时监控应用、资源运行状态,通过数十种指标、告警与日志关联分析,快速锁定问题根源,保障业务顺畅运行。 云容器实例对接了AOM,AOM会采集容器日志存储中的“.log”等格式日志文件,转储到AOM中,方便您查看和检索;并且云容器实例基于AOM进行资源监控,为您提供弹性伸缩能力。 云硬盘服务 云硬盘(Elastic Volume Service,EVS)提供持久性块存储的服务,通过数据冗余和缓存加速等多项技术,提供高可用性和持久性,以及稳定的低时延性能。您可以对云硬盘做格式化、创建文件系统等操作,并对数据做持久化存储。 您可以使用云硬盘作为容器的持久化存储,在创建负载的时候挂载到容器上。 对象存储服务 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。 您可以使用对象存储服务作为容器的持久化存储,在创建任务的时候挂载到容器上。 弹性文件服务 弹性文件服务(Scalable File Service)为用户提供托管的共享文件存储,符合标准文件协议(NFS),能够弹性伸缩至PB规模,具备可扩展的性能,为海量数据、高带宽型应用提供有力支持。 您可以使用弹性文件服务作为容器的持久化存储,在创建任务负载的时候挂载到容器上。 弹性云服务器 弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境。 云容器实例通过E CS 将数据导入到SFS,进而供容器业务使用。 NAT网关 NAT网关能够为VPC内的容器实例提供 网络地址转换 (Network Address Translation)服务,SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内的容器实例共享弹性公网IP访问Internet。 您可以通过NAT网关设置SNAT规则,使得容器能够访问Internet。 数据加密 服务 数据加密服务(Data Encryption Workshop, DEW)是一个综合的云上数据加密服务。它提供密钥管理(KMS)、凭据管理(C SMS )、密钥对管理(KPS)、专属加密(DHSM)四个微服务,安全可靠的为您解决数据安全、密钥安全、密钥管理复杂等问题。其密钥由硬件安全模块(Hardware Security Module,HSM) 保护,并与多个华为云服务集成。您也可以借此服务开发自己的加密应用。
  • Pod规格限制 云容器实例当前支持使用GPU,您可以根据需要选择,实例收费详情请参见产品价格详情。 当不使用GPU时,Pod规格需满足如下要求: 表1 Pod规格限制要求 Pod规格限制项 限制取值范围 Pod的CPU 0.25核-32核,或者自定义选择48核、64核。 CPU必须为0.25核的整数倍。 Pod的内存 1GiB-512GiB。 内存必须为1GiB的整数倍。 Pod的CPU/内存配比值 在1:2至1:8之间。 Pod的容器 一个Pod内最多支持5个容器。 Pod中所有容器和InitContainer(启动容器) 两者规格中的request和limit相等。 Pod规格计算详情请参见Pod规格计算方式。 InitContainer是一种特殊容器,在 Pod 内的应用容器启动之前运行。有关InitContainer更多解释请参见对容器进行初始化操作。
  • Kubernetes应用限制 基于华为云的安全性带来的限制,CCI目前还不支持Kubernetes中HostPath、DaemonSet等功能,具体如下表所示。 不支持的功能 说明 推荐替代方案 HostPath 挂载本地宿主机文件到容器中 使用云盘或者SFS文件系统 HostNetwork 将宿主机端口映射到容器上 使用type=LoadBalancer的负载均衡 DaemonSet DaemonSet(守护进程集)在集群的每个节点上运行一个Pod,且保证只有一个Pod 通过sidecar形式在Pod中部署多个容器 Privileged权限 容器拥有privileged权限 使用Security Context为Pod添加Capability type=NodePort的Service 将宿主机端口映射到容器上 使用type=LoadBalancer的负载均衡
  • CCI权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CCI部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CCI时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云平台各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对CCI服务,管理员能够控制IAM用户仅能对某一类云容器实例资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,CCI支持的API授权项请参见权限策略和授权项。
  • 策略授权系统权限 CCI服务支持基于策略授权的授权模型。如表4所示,包括了CCI基于策略授权中的所有系统策略。策略授权的系统策略与角色授权的系统策略并不互通。 表4 CCI系统策略 系统策略名称 描述 策略类别 CCIFullAccessPolicy 云容器实例服务所有权限 系统策略 CCIReadOnlyPolicy 云容器实例服务只读访问权限 系统策略 表5列出了CCI常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。 表5 常用操作与系统策略的关系 操作 CCIFullAccessPolicy CCIReadOnlyPolicy 创建Pod √ x 删除Pod √ x 查看Pod √ √ 查看资源使用率 √ √ 创建文件存储卷 x x 删除文件存储卷 x x 查看文件存储卷 √ √ 创建ConfigMap √ x 删除ConfigMap √ x 查看ConfigMap √ √ 创建Secret √ x 删除Secret √ x 查看Secret √ √ 查看日志 √ √ 获取指定namespace √ √ 创建namespace √ x 删除namespace √ x
  • 角色授权系统权限 CCI服务支持基于角色授权的授权模型。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CCI部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问CCI时,需要先切换至授权区域。 如表2所示,包括了CCI的所有系统权限。基于角色授权场景的系统策略与基于策略授权场景的并不互通。 表2 CCI系统权限 系统策略名称 描述 类别 CCI FullAccess 云容器实例所有权限,拥有该权限的用户可以执行云容器实例所有资源的创建、删除、查询、更新操作。 说明: 对象存储服务OBS为全局级服务,若需要使用对象存储服务请为其单独授予权限,授权操作请参见对象存储服务权限控制。 系统策略 CCI ReadOnlyAccess 云容器实例只读权限,拥有该权限的用户仅能查看云容器实例资源。 系统策略 CCI CommonOperations 云容器实例普通用户,拥有该权限的用户可以执行除RBAC、network和namespace子资源创建、删除、修改之外的所有操作。 系统策略 CCI Administrator 云容器实例管理员权限,拥有该权限的用户可以执行云容器实例所有资源的创建、删除、查询、更新操作。 系统角色 表3列出了CCI常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统策略的关系 操作 CCI FullAccess CCI ReadOnlyAccess CCI CommonOperations 创建无状态负载 √ x √ 删除无状态负载 √ x √ 查看无状态负载 √ √ √ 升级负载 √ x √ 伸缩负载 √ x √ 删除Pod √ x √ 查看Pod √ √ √ 创建任务 √ x √ 删除任务 √ x √ 查看任务 √ √ √ 创建定时任务 √ x √ 删除定时任务 √ x √ 查看定时任务 √ √ √ 查看资源使用率 √ √ √ 添加云硬盘卷 √ x √ 删除云硬盘卷 √ x √ 查看云硬盘卷 √ √ √ 创建文件存储卷 √ x √ 删除文件存储卷 √ x √ 查看文件存储卷 √ √ √ 创建ConfigMap √ x √ 删除ConfigMap √ x √ 查看ConfigMap √ √ √ 创建Secret √ x √ 删除Secret √ x √ 查看Secret √ √ √ 添加SSL证书 √ x √ 删除SSL证书 √ x √ 查看SSL证书 √ √ √ 添加日志存储 √ x √ 查看日志 √ √ √ 安装插件 √ x √ 删除插件 √ x √ 查看插件 √ √ √ 查看授权 √ √ √ 新增授权 √ x x 删除授权 √ x x 获取指定namespace √ √ √ 创建namespace √ x x 删除namespace √ x x 创建network √ x x 删除network √ x x 查询network列表 √ √ √ 查询network详情 √ √ √
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 审计 云审计 服务(Cloud Trace Service, CTS ),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录您从云管理控制台或者开放API发起的云服务资源操作请求以及每次请求的结果。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的CCI操作列表,请参见云审计服务支持的CCI操作列表。 CCI记录的审计日志会上报到CTS,供用户查询和分析,详细介绍和配置方法,请参见查看云审计日志。