云服务器内容精选
-
解决措施 请参考如下步骤手动卸载插件。 登录云服务器。 在/tmp目录下新建plugin.yaml文件,并将如下脚本内容拷贝至plugin.yaml文件中。 apiVersion: v1 kind: Namespace metadata: labels: admission.gatekeeper.sh/ignore: no-self-managing control-plane: controller-manager gatekeeper.sh/system: "yes" pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/audit-version: latest pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/enforce-version: v1.24 pod-security.kubernetes.io/warn: restricted pod-security.kubernetes.io/warn-version: latest name: gatekeeper-system --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assign.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignimage.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignmetadata.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: configs.config.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constraintpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constrainttemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: constrainttemplates.templates.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplate.expansion.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: modifyset.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: mutatorpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: providers.externaldata.gatekeeper.sh --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding namespace: gatekeeper-system roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-mutating-webhook-configuration --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-validating-webhook-configuration 在/tmp目录下新建uninstall.sh文件,并将如下脚本内容拷贝至uninstall.sh文件中。 #!/bin/bash kubectl delete -f /tmp/plugin.yaml kubectl delete ns cgs-provider 执行如下命令卸载容器集群防护插件。 bash /tmp/uninstall.sh 回显如下图类似信息,表示插件卸载完成。
-
计费构成分析 可以将云容器实例的使用阶段按照规格分为两段: 在2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间按照Pod规格:CPU 2核,内存 4GB计费,计费时长为41.5小时,费用计算如下: 在2023/03/20 9:00:00 ~ 2023/03/31 23:59:59期间按照Pod规格:CPU 4核,内存 8GB计费,计费时长为279小时,费用计算如下: 由此可见,在3月份,该云容器实例总共产生的费用为: 第一段时间产生费用:0.0001225*41.5*60*60=18.301元 第二段时间产生费用:0.000245*279*60*60=246.078元 总共产生费用:18.301+246.078=264.379元
-
操作场景 容器镜像服务企业版支持与其他仓库之间同步容器镜像,可实现单点推送及全球自动同步分发,方便企业在全球多个地域快速部署更新容器业务。当前支持与如下类型仓库之间同步: 容器镜像服务:即SWR共享仓库中的镜像。 容器镜像服务企业版:支持华为云不同地域的企业仓库以及客户基于开源harbor搭建的私有仓库。 镜像同步功能允许用户自定义创建同步规则,可指定某个仓库内的部分资源同步至另一个仓库内的命名空间。例如,用户可选择同步资源类型(容器镜像、Helm Chart、或是全部同步),通过正则表达式过滤镜像及版本,可选择是否覆盖已有的同名镜像,避免历史数据覆盖丢失。
-
设置访问控制与域名解析 公网访问 设置公网访问控制和域名解析,您可以使用公网并通过自定义域名的方式访问SWR仓库。配置公网的访问控制,详情请参考配置公网访问。 进入云解析服务控制台。 在左侧树状导航栏,选择“公网域名”, 进入域名列表页面。 【可选】如果没有自定义域名后缀的公网域名, 单击右上角的“创建公网域名”,输入域名,单击“确定”。 单击您的域名名称进入详情页。 单击“添加记录集”,进入“添加记录集”页面设置参数,然后单击“确定”。 表1 添加记录集参数设置 参数 配置 主机记录 输入自定义域名的前缀。 类型 CNAME。 线路类型 指域名访问者所在的地区和使用的运营商网络,本例中为全网默认。 TTL 为缓存时间,数值越小,修改记录各地生效时间越快,默认为5分钟。 值 设置为仓库的默认域名。 内网访问 设置内网访问控制和内网域名,您可以在指定VPC内的云服务器通过内网拉取SWR仓库中的镜像。配置内网访问控制,详情请参考配置内网访问。 进入云解析服务控制台。 在左侧树状导航栏,选择“内网域名”, 进入域名列表页面。 【可选】如果没有自定义域名后缀的内网域名, 单击右上角的“创建内网域名”,输入域名,选择区域,以及与仓库打通网络的VPC,单击“确定”。 单击您的域名名称进入详情页。 单击“添加记录集”,进入“添加记录集”页面设置参数,然后单击“确定”。 表2 添加记录集参数设置 参数 配置 主机记录 输入自定义域名的前缀 类型 CNAME 线路类型 指域名访问者所在的地区和使用的运营商网络,本例中为全网默认。 TTL 为缓存时间,数值越小,修改记录各地生效时间越快,默认为5分钟。 值 设置为仓库的默认域名。
-
前提条件 需要开通云服务:云解析服务 DNS、云证书管理服务(Cloud Certificate Manager,CCM)。 欲使用域名管理功能,您的账户需要具备查询证书列表权限(scm:cert:list)以及证书导出的权限(scm:cert:export)。 已拥有域名。您可以通过域名注册服务注册域名,详细介绍请参见什么是域名注册服务?。 如果您的SWR仓库在中国境内,那么如果您要在公网环境中使用自定义域名,则域名需要备案。如果您的SWR仓库在境外,则域名无需备案。 已为域名签发证书。您可通过云证书管理CCM服务购买证书,并确认已绑定仓库需要使用的自定义域名。
-
操作步骤 登录云容器引擎CCE控制台。 在左侧导航栏上单击“插件市场”。 在插件市场页面上方搜索框输入“cosign”并搜索。 在下方的搜索结果中找到“容器镜像签名验证”插件,单击“安装”。 填写“安装插件”页面的相关参数。 选择集群:选择镜像所在集群。该插件只能在K8S V1.23及以上版本集群上安装。 对集群某个命名空间进行镜像验签时,需要先为该命名空间添加 policy.sigstore.dev/include:true 标签。 选择版本:选择插件版本 规格配置 单仓库:当前插件只支持在1个仓库上使用。 高可用:当前插件支持在2个仓库上使用。 自定义:自定义仓库数、CPU配额、容器配额。 表1 swr-cosign插件规格配置 参数 参数说明 插件规格 该插件可配置“单实例”、“高可用”或“自定义”规格。 实例数 选择上方插件规格后,显示跟插件规格匹配的实例数。 选择“自定义”规格时,您可根据需求调整插件实例数。 容器 选择“自定义”规格时,您可根据需求调整插件实例的容器规格。 参数配置 KMS密钥:选择一个创建非对称密钥中创建好的密钥。 验签镜像:单击,选择需要验签的镜像。 表2 swr-cosign插件参数配置 参数 参数说明 KMS密钥 选择一个密钥,仅支持 EC_P256、EC_P384、SM2 类型的密钥。 您可以前往密钥管理服务新增密钥。 验签镜像 验签镜像地址通过正则表达式进行匹配,例如填写docker.io/**表示对docker.io镜像仓库的镜像进行验签。如需对所有镜像验签,请填写**。 填写完成后,单击“安装”。 待插件安装完成后,选择对应的集群,然后单击左侧导航栏的“插件中心”,可筛选“已安装插件”查看相应的插件。
-
添加命名空间标签 登录容器镜像服务控制台,单击左侧菜单栏“企业版”。 选中要添加命名空间标签的仓库,单击仓库名称,进入仓库详情页。 单击仓库详情页左侧导航栏“命名空间”,进入命名空间列表页。单击页面右上角的图标,以列表形式展示命名空间列表。 选择要添加标签的命名空间,单击右侧“标签管理”,进入标签管理页面。 图1 命名空间管理列表页 在标签管理页面,单击,新增一个标签。 图2 标签管理 参考标签命名规则,填写标签的键和值。
-
使用Helm客户端上传及下载Helm Chart 安装Helm客户端 本文以在Linux操作系统的节点上安装为例,如在其他平台安装请下载对应安装包。 依次执行以下命令,下载并安装Helm客户端。关于安装Helm的更多信息,请参见Installing Helm。 curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh “get_helm.sh”脚本会自动拉取最新的Helm版本进行安装,如需安装其他版本,请从官方下载需要的Helm版本。 推送Helm Chart 安装Helm Push插件。 在安装Helm Push插件前,需要预先安装Git。 helm plugin install https://github.com/chartmuseum/helm-push 在节点上执行如下命令,创建一个Chart。 helm create [Chart名称] 示例:helm create chart-demo 执行如下命令,推送指定目录至Chart仓库。 helm push [Chart名称] [本地仓库名称] 示例: helm push chart-demo group 您还可以将Chart文件打包为tgz压缩包,然后直接上传。 helm push [Chart名称]-[Chart版本].tgz [本地仓库名称] 示例: tar zcvf chart-demo-1.0.0.tgz chart-demo/ # 压缩Chart文件 helm push chart-demo-1.0.0.tgz group # 上传Chart压缩包 下载Helm Chart 在节点上执行如下命令,更新本地仓库Chart信息。 helm repo update 下载指定版本Chart。 helm pull [本地仓库名称]/[Chart名称] --version [Chart版本] 示例: helm pull group/chart-demo --version 1.0.0
-
背景信息 Kubernetes提供了统一模式的API,能以YAML格式的文件定义Kubernetes集群中的资源,包括Pod、Service、Deployment、StatefulSet、Job等等。这些资源种类繁多,且分散的kubernetes应用配置文件难以管理、编辑和更新,因此云原生社区衍生了一个更高维度的概念及其实现工具,即Chart和Helm。 Chart是描述相关的一组Kubernetes集群内资源的文件集合。 Helm是一个命令行程序,用于管理这些Chart,以及其运行态Release。 容器镜像服务企业版支持Helm客户端实现Chart的上传和下载。
-
创建签名规则 登录容器镜像服务控制台,单击左侧菜单栏“企业版”,然后单击仓库名称进入仓库详情页面。 在左侧导航栏选择“ 镜像签名”。 在右上角单击“创建签名规则”。 填写具体规则。 表2 参数说明 参数名称 说明 示例 规则名称 镜像签名规则的名称。 SignatureRule 命名空间 选择要签名的镜像所在的命名空间。 library 规则范围 镜像:镜像名称,默认使用正则表达式。单击可手动选择镜像。 正则表达式规则可填写如nginx-*、{repo1, repo2} 等,其中: *:匹配不包含路径分隔符“/”的任何字段。 **:匹配包含路径分隔符“/”的任何字段。 ?:匹配任何单个非“/”的字符。 {选项1, 选项2, ...}:同时匹配多个选项。匹配上其中一个即可。 版本:镜像的版本,同样使用正则表达式,匹配规则与镜像名称相同。 nginx-*:表示匹配“nginx-”开头的镜像。 签名方式 当前支持使用KMS签名。 KMS 签名Key 选择在创建非对称密钥中创建的密钥。 key1 触发模式 手动:手动触发,规则创建完成后需要您手动单击执行。 事件触发 + 手动:事件触发指当有新镜像上传到仓库且符合匹配规则时触发镜像签名。 事件触发 + 手动 规则描述 规则的描述信息。 - 图2 创建签名规则 单击“确定”完成规则创建。
-
创建非对称密钥 登录数据加密服务控制台。 在左侧导航栏选择“密钥管理”,单击右上角的“创建密钥”。 在“创建密钥”对话框中配置参数,然后单击“确定”。 镜像签名功能需要非对称密钥算法的支持,创建密钥时,密钥算法需选择EC、RSA或SM2类型,详情请见表1。其他参数配置请参见创建密钥。 图1 创建密钥 表1 容器镜像服务支持的密钥算法类型 密钥类型 算法类型 密钥规格 说明 用途 非对称密钥 RSA RSA_2048 RSA_3072 RSA_4096 RSASSA_PSS_SHA_256 RSASSA_PSS_SHA_384 RSASSA_PSS_SHA_512 RSASSA_PKCS1_V1_5_SHA_256 RSASSA_PKCS1_V1_5_SHA_384 RSASSA_PKCS1_V1_5_SHA_512 RSA非对称密钥 小量数据的加解密或数字签名。 非对称密钥 ECC EC_P256 ECDSA_SHA_256 EC_P384 ECDSA_SHA_384 椭圆曲线密码,使用NIST推荐的椭圆曲线 数字签名 非对称密钥 SM2 SM2 国密SM2非对称密钥 小量数据的加解密或数字签名。
-
创建命名空间 登录容器镜像服务控制台,单击左侧菜单栏的“企业版”,在“仓库管理”页面单击您的仓库名称进入仓库。 在左侧导航栏单击“命名空间”。 在右上角单击“创建命名空间”。 填写命名空间名称,选择命名空间类型。 图1 创建命名空间 公有命名空间:允许任何用户登录后下载命名空间内的制品,如需其他操作需在IAM上为用户授权。 私有命名空间:需在IAM上为用户授权才可以对命名空间内的制品进行操作。 单击“确定”。 命名空间创建成功后,您可以选择列表视图或卡片视图查看命名空间详情,在右上角单击或图标进行视图切换。
-
为什么选择云容器引擎 云容器引擎深度整合高性能的计算(ECS/BMS)、网络(VPC/EIP/ELB)、存储(EVS/OBS/SFS)等服务,并支持GPU、NPU、ARM等异构计算架构,支持多可用区(Available Zone,简称AZ)、多区域(Region)容灾等技术构建高可用Kubernetes集群。 华为云是全球首批Kubernetes认证服务提供商(Kubernetes Certified Service Provider,KCSP),是国内最早投入Kubernetes社区的厂商,是容器开源社区主要贡献者和容器生态领导者。华为云也是CNCF云原生计算基金会的创始成员及白金会员,云容器引擎是全球首批通过CNCF基金会Kubernetes一致性认证的容器服务。 更多选择理由,请参见产品优势和应用场景。
-
产品形态 云容器引擎包含多种产品形态。 维度 子维度 CCE Standard CCE Turbo CCE Autopilot 产品定位 - 标准版本集群,提供高可靠、安全的商业级容器集群服务。 面向云原生2.0的新一代容器集群产品,计算、网络、调度全面加速。 无用户节点的Serverless版集群,无需对节点的部署、管理和安全性进行维护,并根据CPU和内存资源用量按需付费。 使用场景 - 面向有云原生数字化转型诉求的用户,期望通过容器集群管理应用,获得灵活弹性的算力资源,简化对计算、网络、存储的资源管理复杂度。 适合对极致性能、资源利用率提升和全场景覆盖有更高诉求的客户。 适合具有明显的波峰波谷特征的业务负载,例如在线教育、电子商务等行业。 规格差异 网络模型 云原生网络1.0:面向性能和规模要求不高的场景。 容器隧道网络模式 VPC网络模式 云原生网络2.0:面向大规模和高性能的场景。 组网规模最大支持2000节点 云原生网络2.0:面向大规模和高性能的场景。 网络性能 VPC网络叠加容器网络,性能有一定损耗 VPC网络和容器网络融合,性能无损耗 VPC网络和容器网络融合,性能无损耗 容器网络隔离 容器隧道网络模式:集群内部网络隔离策略,支持NetworkPolicy。 VPC网络模式:不支持 Pod可直接关联安全组,基于安全组的隔离策略,支持集群内外部统一的安全隔离。 Pod可直接关联安全组,基于安全组的隔离策略,支持集群内外部统一的安全隔离。 安全隔离性 普通容器:Cgroups隔离 安全容器:当前仅物理机支持,提供虚机级别的隔离 普通容器:Cgroups隔离 提供虚机级别的隔离 边缘基础设施管理 不支持 支持管理智能边缘小站IES 不支持
-
产品架构 图1 CCE产品架构 计算:全面适配华为云各类计算实例,支持虚拟机和裸机混合部署、高性价比鲲鹏实例、GPU和华为云独有的昇腾算力;支持GPU虚拟化、共享调度、资源感知的调度优化。 网络:支持对接高性能、安全可靠、多协议的独享型ELB作为业务流量入口。 存储:对接云存储,支持EVS、SFS和OBS,提供磁盘加密、快照和备份能力。 集群服务:支持购买集群、连接集群、升级集群、管理集群等一系列集群生命周期管理服务。 容器编排:CCE提供了管理Helm Chart(模板)的控制台,能够帮助您方便的使用模板部署应用,并在控制台上管理应用。 制品仓库:对接容器镜像服务,支持镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。 弹性伸缩:支持工作负载和节点的弹性伸缩,可以根据业务需求和策略,经济地自动调整弹性计算资源的管理服务。 服务治理:深度集成应用服务网格,提供开箱即用的应用服务网格流量治理能力,用户无需修改代码,即可实现灰度发布、流量治理和流量监控能力。 容器运维:深度集成容器智能分析,可实时监控应用及资源,支持采集、管理、分析日志,采集各项指标及事件并提供一键开启的告警能力。 扩展插件市场:提供了多种类型的插件,用于管理集群的扩展功能,以支持选择性扩展满足特性需求的功能。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格