云服务器内容精选
-
升级前检查项 集群升级前,系统将自动进行全面的升级前检查,当集群不满足升级前检查条件时将无法继续升级。为了能够更好地避免升级风险,本文提供全量的升级前检查问题及解决方案,帮助您对可能存在的升级故障进行预处理。 表1 检查项列表 序号 检查项名称 检查项说明 1 升级管控检查异常处理 检查集群是否处于升级管控中。 2 插件检查 检查插件状态是否正常 检查插件是否支持目标版本 3 Helm模板检查异常处理 检查当前HelmRelease记录中是否含有目标集群版本不支持的K8s废弃API,可能导致升级后helm模板不可用。 4 Master节点SSH联通性检查异常处理 检查当前CCE是否能连接至您的Master节点。 5 K8s废弃资源检查异常处理 检查集群是否存在对应版本已经废弃的资源。 6 cce-hpa-controller插件限制检查异常处理 检查到目标cce-controller-hpa插件版本是否存在兼容性限制。 7 K8s废弃API检查 系统会扫描过去一天的审计日志,检查用户是否调用目标K8s版本已废弃的API。 说明: 由于审计日志的时间范围有限,该检查项仅作为辅助手段,集群中可能已使用即将废弃的API,但未在过去一天的审计日志中体现,请您充分排查。 8 HTTPS类型负载均衡证书一致性检查 检查HTTPS类型负载均衡所使用的证书,是否在ELB服务侧被修改。 父主题: 升级前检查异常问题排查
-
通过控制台创建 登录CCE控制台。 单击集群名称进入集群,在左侧选择“工作负载”,在右上角单击“创建工作负载”。 配置工作负载的信息。 基本信息 负载类型:选择有状态工作负载StatefulSet。 负载名称:填写工作负载的名称。请输入1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 命名空间:选择工作负载的命名空间,默认为default。您可以单击后面的“创建命名空间”,命名空间的详细介绍请参见创建命名空间。 实例数量:填写实例的数量,即工作负载Pod的数量。 容器配置 容器信息 Pod中可以配置多个容器,您可以单击右侧“添加容器”为Pod配置多个容器。 基本信息:配置容器的基本信息。 参数 说明 容器名称 为容器命名。 更新策略 镜像更新/拉取策略。可以勾选“总是拉取镜像”,表示每次都从镜像仓库拉取镜像;如不勾选则优使用节点已有的镜像,如果没有这个镜像再从镜像仓库拉取。 镜像名称 单击后方“选择镜像”,选择容器使用的镜像。 如果需要使用第三方镜像,请参见使用第三方镜像。 镜像版本 选择需要部署的镜像版本。 CPU配额 CPU资源限制值,即允许容器使用的CPU最大值,防止占用过多资源。 内存配额 内存资源限制值,即允许容器使用的内存最大值。如果超过,容器会被终止。 初始化容器(可选) 选择容器是否作为初始化(Init)容器。初始化(Init)容器不支持设置健康检查。 Init容器是一种特殊容器,可以在Pod中的其他应用容器启动之前运行。每个Pod中可以包含多个容器,同时Pod中也可以有一个或多个先于应用容器启动的Init容器,当所有的Init 容器运行完成时,Pod中的应用容器才会启动并运行。详细说明请参见Init 容器。 生命周期(可选):在容器的生命周期的特定阶段配置需要执行的操作,例如启动命令、启动后处理和停止前处理,详情请参见设置容器生命周期。 健康检查(可选):根据需求选择是否设置存活探针、就绪探针及启动探针,详情请参见设置容器健康检查。 环境变量(可选):支持通过键值对的形式为容器运行环境设置变量,可用于把外部信息传递给Pod中运行的容器,可以在应用部署后灵活修改,详情请参见设置环境变量。 数据存储(可选):在容器内挂载本地存储或 云存储 ,不同类型的存储使用场景及挂载方式不同。 有状态负载支持“动态挂载”存储。 动态挂载通过volumeClaimTemplates字段实现,并依赖于StorageClass动态创建能力。有状态工作负载通过volumeClaimTemplates字段为每一个Pod关联了一个独有的PVC,而这个PVC又会和对应的PV绑定。因此当Pod被重新调度后,仍然能够根据该PVC名称挂载原有的数据。 负载创建完成后,动态挂载的存储不支持更新。 安全设置(可选):对容器权限进行设置,保护系统和其他容器不受其影响。请输入用户ID,容器将以当前用户权限运行。 镜像访问凭证:用于访问镜像仓库的凭证,默认取值为default-secret,使用default-secret可访问SWR镜像仓库的镜像。default-secret详细说明请参见default-secret。 实例间发现服务配置 Headless Service用于解决StatefulSet内Pod互相访问的问题,Headless Service给每个Pod提供固定的访问 域名 。具体请参见Headless Service。 服务配置(可选) 服务(Service)可为Pod提供外部访问。每个Service有一个固定IP地址,Service将访问流量转发给Pod,而且Service可以为这些Pod自动实现负载均衡。 您也可以在创建完工作负载之后再创建Service,不同类型的Service概念和使用方法请参见服务(Service)。 高级配置(可选) 升级策略:指定工作负载的升级方式及升级参数,支持滚动升级和替换升级,详情请参见设置工作负载升级策略。 实例管理策略(podManagementPolicy): 对于某些分布式系统来说,StatefulSet 的顺序性保证是不必要和/或者不应该的。 这些系统仅仅要求唯一性和身份标志。 有序策略:默认实例管理策略,有状态负载会逐个的、按顺序的进行部署、删除、伸缩实例, 只有前一个实例部署Ready或者删除完成后,有状态负载才会操作后一个实例。 并行策略:支持有状态负载并行创建或者删除所有的实例,有状态负载发生变更时立刻在实例上生效。 标签与注解:以键值对形式为工作负载Pod添加标签或注解,填写完成后需单击“确认添加”。关于标签与注解的作用及配置说明,请参见设置标签与注解。 DNS配置:为工作负载单独配置DNS策略,详情请参见工作负载DNS配置说明。 单击右下角“创建工作负载”。
-
通过kubectl命令行创建 Autopilot集群暂不支持配置节点亲和与反亲和,所以当您使用kubectl命令行创建工作负载时,为避免Pod创建失败,请不要配置affinity字段。 请参见通过kubectl连接集群,使用kubectl连接集群。 创建一个名为nginx-statefulset.yaml的文件。 其中,nginx-statefulset.yaml为自定义名称,您可以随意命名。 vi nginx-statefulset.yaml 以下内容仅为示例,若需要了解statefulset的详细内容,请参考kubernetes官方文档。 apiVersion: apps/v1 kind: StatefulSet metadata: name: nginx spec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: container-1 image: nginx:latest imagePullPolicy: IfNotPresent resources: requests: cpu: 250m memory: 512Mi limits: cpu: 250m memory: 512Mi imagePullSecrets: - name: default-secret dnsPolicy: ClusterFirst serviceName: nginx-svc replicas: 2 updateStrategy: type: RollingUpdate vi nginx-headless.yaml apiVersion: v1 kind: Service metadata: name: nginx-svc namespace: default labels: app: nginx spec: selector: app: nginx version: v1 clusterIP: None ports: - name: nginx targetPort: 80 nodePort: 0 port: 80 protocol: TCP type: ClusterIP 创建工作负载以及对应headless服务。 kubectl create -f nginx-statefulset.yaml 回显如下,表示有状态工作负载(stateful)已创建成功。 statefulset.apps/nginx created kubectl create -f nginx-headless.yaml 回显如下,表示对应headless服务已创建成功。 service/nginx-svc created 若工作负载需要被访问(集群内访问或节点访问),您需要设置访问方式,具体请参见服务(Service)创建对应服务。
-
使用模板时的API资源限制 资源 限制项 说明 推荐替代方案 namespaces - 支持 为安全起见,Autopilot 不允许在系统管理的命名空间(如 kube-system)中部署工作负载,不可进行任何资源的创建、修改、删除、exec等。 nodes - 支持 只支持查询,不支持增删改功能 persistentvolumeclaims - 支持 - persistentvolumes - 支持 - pods HostPath 限制挂载本地宿主机文件到容器中 使用emptyDir或云存储 HostNetwork 限制将宿主机端口映射到容器上 使用type=LoadBalancer的负载均衡 HostPID 限制容器可见宿主机PID空间 用户不感知节点,无需使用 HostIPC 限制容器进程和宿主机进程间通信 用户不感知节点,无需使用 NodeName 限制Pod调度到特定节点 用户不感知节点,无需使用 特权容器 不支持 - Linux capabilities 支持"SETPCAP", "MKNOD", "AUDIT_WRITE", "CHOWN", "DAC_OVERRIDE", "FOWNER", "FSETID", "KILL", "SETGID", "SETUID", "NET_BIND_SERVICE", "SYS_CHROOT", "SETFCAP", "SYS_PTRACE" 可以通过SecurityContext设置开启NET_RAW 、SYS_PTRACE 、NET_ADMIN 使用允许值 调度的节点亲和与打散规则 限制将Pod调度到指定节点或者具有某些标签的节点上,或者将一批Pod打散到具有某些标签的节点上。 Autopilot集群中应用指定节点亲和性或nodeSelector字段不生效。 无需指定节点调度,但可以指定Pod到某一个可用区 可以将一批Pod打散到多个可用区 Pod间亲和与反亲和配置 不生效 无需配置 allowPrivilegeEscalation是否允许特权升级 不支持 使用默认配置 RuntimeClassName 无需配置,上层应用(Pod除外)指定RuntimeClassName时后端将自动修改为系统默认支持的runc 无需配置 时区同步(会挂载主机/etc/localtime) 不支持 使用默认配置 serviceaccounts - 不支持修改系统配置、不允许绑定系统角色 使用默认配置 services - 限制nodeport,ELB只支持独享型 使用type=LoadBalancer的负载均衡 daemonsets apps 限制使用Daemonset类workload 通过Sidecar形式在Pod中部署多个镜像 deployments apps 支持,其中限制使用的字段与Pod一致 使用允许值 replicasets apps 支持,其中限制使用的字段与Pod一致 使用允许值 statefulsets apps 支持,其中限制使用的字段与Pod一致 使用允许值 cronjobs batch 支持,其中限制使用的字段与Pod一致 使用允许值 jobs batch 支持,其中限制使用的字段与Pod一致 使用允许值 clusterrolebindings rbac.authorization.k8s.io 支持,限制绑定系统组与系统用户,cce-service组 使用允许值 rolebindings rbac.authorization.k8s.io 支持,限制绑定系统组与系统用户,cce-service组 使用允许值 storageclasses storage.k8s.io 不支持创建obs、evs类型的storageclass;其他功能支持 使用允许值 父主题: 模板(Helm Chart)
-
创建模板实例 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”。 在“我的模板”页签中,单击目标模板下的“安装”。 参照表2设置安装工作负载参数。 表2 安装工作负载参数说明 参数 参数说明 实例名称 新建模板实例名称,命名必须唯一。 命名空间 指定部署的命名空间。 选择版本 选择模板的版本。 配置文件 用户可以导入values.yaml文件,导入后可替换模板包中的values.yaml文件;也可直接在配置框中在线编辑模板参数。 说明: 此处导入的values.yaml文件需符合yaml规范,即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致,否则不会生效。即key不能修改。 单击“添加文件”。 选择对应的values.yaml文件,单击“打开”。 配置完成后,单击“安装”。 在“模板实例”页签下可以查看模板实例的安装情况。
-
告警中心概述 云原生告警是可观测性体系里面比较重要的一环。在云原生告警中,除了传统的CPU、内存等资源使用量的告警以外,还有容器重启等事件告警、应用访问失败等自定义的监控指标告警。 CCE的云原生告警能力是由 AOM 服务提供的,支持指标和事件的告警。同时,CCE集群详情中增加了告警中心能力,能支持快速配置资源等常用告警和告警查看。 图1 告警中心架构 告警中心 基于AOM服务的告警能力实现,提供集群内的告警快速检索、告警快速配置的能力。用户可以通过告警中心一键配置常用的告警规则。 AOM服务 华为云 应用运维管理 服务,是云上应用的一站式立体化运维管理平台,是云上监控、告警的基础。 SMN 服务 华为云的 消息通知 服务,是云上应用发送告警或通知的依赖服务。在云原生场景中,在AOM服务触发的告警将通过SMN里面配置的短信、电子邮件、HTTP等方式发送。 父主题: 告警中心
-
对象存储挂载参数 CCE Autopilot在挂载对象存储时默认设置了表1和表2的参数,其中表1中的参数不可取消。除了这些参数外,您还可以设置其他的对象存储挂载参数,具体请参见挂载并行文件系统。 表1 默认使用且不可取消的挂载参数 参数 参数值 描述 use_ino 无需填写 使用该选项,由obsfs分配inode编号。读写模式下自动开启。 big_writes 无需填写 配置后可更改写缓存最大值大小 nonempty 无需填写 允许挂载目录非空 allow_other 无需填写 允许其他用户访问并行文件系统 no_check_certificate 无需填写 不校验服务端证书 sigv2 无需填写 签名版本。对象桶自动使用。 public_bucket 1 设置为1时匿名挂载公共桶。对象桶只读模式下自动使用。 表2 默认使用且可修改的挂载参数 参数 参数值 描述 max_write 131072 仅配置big_writes的情况下才生效,推荐使用128KB。 ssl_verify_hostname 0 不根据主机名验证SSL证书。 max_background 100 可配置后台最大等待请求数。并行文件系统自动使用。 umask 0 配置文件权限的掩码。 例如,如果umask值为022,而目录最大权限为777,则设置umask后该目录权限为777 - 022 = 755,即rwxr-xr-x。
-
在StorageClass中设置挂载参数 在StorageClass中设置挂载参数同样可以通过mountOptions字段实现,如下所示,mountOptions支持挂载的字段请参见对象存储挂载参数。 使用kubectl连接集群,详情请参见通过kubectl连接集群。 创建自定义的StorageClass,示例如下: kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: csi-obs-mount-option provisioner: everest-csi-provisioner parameters: csi.storage.k8s.io/csi-driver-name: obs.csi.everest.io csi.storage.k8s.io/fstype: s3fs everest.io/obs-volume-type: STANDARD reclaimPolicy: Delete volumeBindingMode: Immediate mountOptions: # 挂载参数 - umask=027 StorageClass设置好后,就可以使用这个StorageClass创建PVC,动态创建出的PV会默认带有StorageClass中设置的挂载参数,具体操作步骤请参见通过静态存储卷使用已有对象存储。
-
使用kubectl命令登录容器 使用kubectl连接集群,详情请参见通过kubectl连接集群。 执行以下命令,查看已创建的Pod。 kubectl get pod 示例输出如下: NAME READY STATUS RESTARTS AGE nginx-59d89cb66f-mhljr 1/1 Running 0 11m 查询该Pod中的容器名称。 kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}' 示例输出如下: container-1 执行以下命令,登录到nginx-59d89cb66f-mhljr这个Pod中名为container-1的容器。 kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh 如需退出容器,可执行exit命令。
-
对象存储规格 对象存储提供了多种存储类别,从而满足客户业务对存储性能、成本的不同诉求。 并行文件系统:并行文件系统(Parallel File System)是OBS提供的一种经过优化的高性能文件系统,提供毫秒级别访问时延,以及TB/s级别带宽和百万级别的IOPS,能够快速处理高性能计算(HPC)工作负载。相较于对象桶,并行文件系统在稳定性、性能上更具优势。详细介绍请参见什么是并行文件系统。 对象桶: 标准存储:访问时延低和吞吐量高,因而适用于有大量热点文件(平均一个月多次)或小文件(小于1MB),且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。 低频访问存储:适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。与标准存储相比,低频访问存储有相同的数据持久性、吞吐量以及访问时延,且成本较低,但是可用性略低于标准存储。 关于对象存储的详细介绍,请以对象存储类别为准。
-
对象存储介绍 对象存储服务 (Object Storage Service,OBS)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、 视频点播 、视频监控等多种数据存储场景。 标准接口:具备标准Http Restful API接口,用户必须通过编程或第三方工具访问对象存储。 数据共享:服务器、嵌入式设备、IOT设备等所有调用相同路径,均可访问共享的对象存储数据。 公共/私有网络:对象存储数据允许在公网访问,满足互联网应用需求。 容量与性能:容量无限制,性能较高(IO读写时延10ms级)。 应用场景:适用于(基于OBS界面、OBS工具、OBS SDK等)的一次上传共享多读(ReadOnlyMany)的各种工作负载(Deployment/StatefulSet)和普通任务(Job)使用,主要面向大数据分析、静态网站托管、在线视频点播、基因测序、智能视频监控、备份归档、企业云盘(网盘)等场景。
-
性能说明 容器负载挂载对象存储时,每挂载一个对象存储卷,后端会产生一个常驻进程。当负载使用对象存储数过多或大量读写对象存储文件时,常驻进程会占用大量内存,部分场景下内存消耗量参考表1,为保证负载稳定运行,建议负载使用的对象存储卷数量不超过其申请的内存GiB数量,如负载的申请的内存规格为4GiB,则建议其使用的对象存储数不超过4。 表1 单个对象存储常驻进程内存消耗 测试项目 内存消耗 长稳运行 约50m 2并发写10M文件 约110m 4并发写10M文件 约220m 单写100G文件 约300m
-
使用场景 根据使用场景不同,对象存储支持以下挂载方式: 通过静态存储卷使用已有对象存储:即静态创建的方式,需要先使用已有的对象存储创建PV,然后通过PVC在工作负载中挂载存储。适用于已有可用的底层存储或底层存储需要包周期的场景。 通过动态存储卷使用对象存储:即动态创建的方式,无需预先创建对象存储,在创建PVC时通过指定存储类(StorageClass),即可自动创建对象存储和对应的PV对象。适用于无可用的底层存储,需要新创建的场景。
-
操作步骤 登录CCE控制台,单击集群名称进入集群。 查看集群总览页,在右边“连接信息”下证书认证一栏,单击“下载”。 图1 获取证书 在弹出的“证书获取”窗口中,根据系统提示选择证书的过期时间并下载集群X509证书。 下载的证书包含client.key、client.crt、ca.crt三个文件,请妥善保管您的证书,不要泄露。 集群中容器之间互访不需要证书。 使用集群证书调用Kubernetes原生API。 例如使用curl命令调用接口查看Pod信息,如下所示,其中*****:5443为集群API Server的内网或公网地址。 curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://*****:5443/api/v1/namespaces/default/pods/ 更多集群接口请参见Kubernetes API。
-
约束与限制 在Kubernetes中,外部用户及内部组件频繁的数据更新操作采用乐观并行的控制方法。通过定义资源版本(resourceVersion)实现乐观锁,资源版本字段包含在对象的元数据(metadata)中。这个字段标识了对象的内部版本号,且对象被修改时,该字段将随之修改。kube-apiserver可以通过该字段判断对象是否已经被修改。当包含resourceVersion的更新请求到达apiserver,服务器端将对比请求数据与服务器中数据的资源版本号,如果不一致,则表明在本次更新提交时,服务端对象已被修改,此时apiserver将返回冲突错误(409)。客户端需重新获取服务端数据,重新修改后再次提交到服务器端;而资源配额对每个命名空间的资源消耗总量提供限制,并且会记录集群中的资源信息,因此开启资源配额后,在大规模并发场景下创建资源冲突概率会变高,会影响批创资源性能。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格