云服务器内容精选
-
漏洞详情 2019年6月18日,Redhat发布安全公告,Linux内核处理器TCP SACK模块存在3个安全漏洞(CVE-2019-11477、CVE-2019-11478、CVE-2019-11479),这些漏洞与最大分段大小(MSS)和TCP选择性确认(SACK)功能相关,攻击者可远程发送特殊构造的攻击包造成拒绝服务攻击,导致服务器不可用或崩溃。 参考链接: https://www.suse.com/support/kb/doc/?id=7023928 https://access.redhat.com/security/vulnerabilities/tcpsack https://www.debian.org/lts/security/2019/dla-1823 https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SACKPanic? https://lists.centos.org/pipermail/centos-announce/2019-June/023332.html https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md 表1 漏洞信息 漏洞类型 CVE-ID 披露/发现时间 华为云修复时间 输入验证错误 CVE-2019-11477 2019-06-17 2019-07-11 资源管理错误 CVE-2019-11478 2019-06-17 2019-07-11 资源管理错误 CVE-2019-11479 2019-06-17 2019-07-11
-
附:TCP SACK介绍 TCP是面向连接的协议。当双方希望通过TCP连接进行通信时,他们通过TCP握手交换某些信息建立连接,例如发起一个TCP请求,通过SYN发送初始序列ID、确认ID、连接使用的最大数据包段大小(MSS)、认证信息和处理选择性确认(SACK)等。整体TCP连接通过我们熟知的三次握手最终建立。 TCP通过一个数据段单元发送和接收用户数据包。 TCP数据段由TCP头、选项和用户数据组成。每个TCP段都有序列号(SEQ)和确认号(ACK)。 接收方通过SEQ号和ACK号来跟踪成功接收了哪些段。ACK号下一个预期接受的段。 示例: 上图中用户A通过13个100字节的段发送1k字节的数据,每个段具有20字节的TCP头,总计是13个段。在接收端,用户B接收了段1,2,4,6,8-13,而段3,5和7丢失,B没有接收到。 通过使用ACK号,用户B告诉A,他需要段3,用户A读取到B接收到2后没有收到3,A将重新发送全部段,尽管B已经收到了4,6和8-13段。这就导致了网络的低效使用。
-
方式二:使用profile控制pod调度到CCI 登录集群节点,配置profile资源。 vi profile.yaml 限制CCE集群最大负载数,配置local maxNum和scaleDownPriority的profile模板示例如下: apiVersion: scheduling.cci.io/v1kind: ScheduleProfilemetadata: name: test-cci-profile namespace: defaultspec: objectLabels: matchLabels: app: nginx strategy: localPrefer location: local: maxNum: 20 # 当前暂不支持local/cci同时配置maxNum scaleDownPriority: 10 cci: {} 限制CCI集群最大负载数,配置cci maxNum和scaleDownPriority的profile的模板示例如下: apiVersion: scheduling.cci.io/v1kind: ScheduleProfilemetadata: name: test-cci-profile namespace: defaultspec: objectLabels: matchLabels: app: nginx strategy: localPrefer location: local: {} cci: maxNum: 20 # 当前暂不支持local/cci同时配置maxNum scaleDownPriority: 10 strategy:调度策略选择。可配置策略值:auto、enforce、localPrefer。详情请参见调度策略。 location内可配置线下IDC和云上pod限制数量maxNum和pod缩容优先级scaleDownPriority,maxNum取值范围[0~int32],scaleDownPriority取值范围[-100, 100]。 local字段和cci字段不可以同时设置maxNum。 缩容优先级为非必填项参数,如果不配置缩容优先级,默认值将为空。
-
约束与限制 metrics-server无法采集到通过bursting插件弹性到CCI 2.0上的Pod的监控数据,可能会影响HPA工作。如果HPA无法正常工作,请参考弹性伸缩进行处理。 从CCE bursting弹到CCI 2.0的pod,与从CCI 2.0前端或API创建的pod,如非必要,命名空间和pod名请勿同时重复,这将导致CCI 2.0侧的pod监控数据异常。从CCE侧查看pod的监控不受影响。
-
问题三:插件由1.5.18及以上版本回退至低于1.5.18后,Pod通过Service访问出现异常 问题原因:插件升级到1.5.18及以上版本之后,新弹性到CCI的Pod中的sidecar无法兼容1.5.18以下版本的插件,因此插件回退版本后会导致这些Pod中的Service访问异常。插件在低于1.5.18版本时弹性到CCI的Pod不受影响。 解决方案: 方案一:将插件再升级到1.5.18及以上版本。 方案二:将Service访问异常的Pod删除重建,重建后弹性到CCI的Pod Service访问将恢复正常。
-
约束与限制 当前只有负载的原生标签能够被ScheduleProfile匹配,使负载能够被ScheduleProfile管理,将CCE集群的Pod调度到CCI。例如通过ExtensionProfile加到负载上的标签不能够被ScheduleProfile匹配,因此不会被ScheduleProfile管理调度功能。 当弹性到CCI的资源调度失败时,bursting节点会被锁定半小时,期间无法调度至CCI。用户可通过CCE集群控制台,使用kubectl工具查看bursting节点状态,若节点被锁定,可手动解锁bursting。
-
问题一:用户负载无法调度到CCI,登录CCE节点执行kubectl get node发现virtual-kubelet节点状态为不可调度。 问题原因:CCI资源售罄导致弹性到CCI的资源调度失败,bursting节点会被锁定半小时(状态变为SchedulingDisabled),期间无法调度至CCI。 解决方案:用户可通过CCE集群控制台,使用kubectl工具查看bursting节点状态,如果节点被锁定,可手动解锁bursting节点。
-
方式一:通过配置labels控制pod调度到CCI 通过CCE集群控制台(console)创建pod调度到CCI。通过CCE集群创建工作负载时,选择CCI弹性承载策略配置,选择“不开启”以外的任意策略。 在CCE集群控制台(console)创建工作负载时,CCI弹性承载支持勾选“bursting-node”或者“virtual-kubelet”,如果使用CCI 1.0请勾选“virtual-kubelet”,如果使用CCI 2.0请勾选“bursting-node”。目前CCI 2.0仅对白名单用户开放,如需使用CCI 2.0服务,请提交工单申请开启CCI 2.0服务。 通过yaml文件在CCE集群节点创建pod调度CCI。成功安装bursting插件后,登录CCE集群节点,在工作负载的yaml文件中添加virtual-kubelet.io/burst-to-cci标签。 apiVersion: apps/v1kind: Deploymentmetadata: name: test namespace: default labels: virtual-kubelet.io/burst-to-cci: 'auto' # 弹性到CCIspec: replicas: 2 selector: matchLabels: app: test template: metadata: labels: app: test spec: containers: - image: 'nginx:perl' name: container-0 resources: requests: cpu: 250m memory: 512Mi limits: cpu: 250m memory: 512Mi volumeMounts: [] imagePullSecrets: - name: default-secret
-
使用SWR拉取用户业务镜像 方式一:通过console选取SWR镜像 用户镜像上传SWR。使用方式请参考:SWR官方文档。 在华为云CCE控制台创建负载选择镜像。 对接到SWR中的镜像。请确保您的SWR仓库中已正确上传了镜像,SWR服务使用详情请参见:SWR官方文档。 方式二:通过在CCE集群node选取SWR镜像 登录CCE集群节点。 查看SWR镜像仓库中的镜像地址。 获取镜像地址:swr.***.com/cci-test/nginx:1.0.0.x86_64_test。 配置工作负载yaml。 apiVersion: apps/v1kind: Deploymentmetadata: name: test namespace: default labels: virtual-kubelet.io/burst-to-cci: 'auto' # 弹性到CCIspec: replicas: 2 selector: matchLabels: app: test template: metadata: labels: app: test spec: containers: - image: swr.***.com/cci-test/nginx:1.0.0.x86_64_test name: container-0 resources: requests: cpu: 250m memory: 512Mi limits: cpu: 250m memory: 512Mi volumeMounts: [] imagePullSecrets: - name: default-secret 部署工作负载。 kubectl apply -f dep.yaml
-
操作步骤 登录云容器实例管理控制台,左侧导航栏中选择“镜像快照”,在右侧页面单击“创建镜像快照”。 添加基本信息。 镜像快照名称 请输入以小写字母或数字开头,小写字母、数字、中划线(-)、点(.)组成(其中两点不能相连,点不能与中划线相连),小写字母或数字结尾的1到63字符的字符串。 开启快照保留时间 打开开关,填写快照保留天数。未开启开关,默认为永久。 快照过期后,仍会占用配额,需定期审核过期镜像快照后删除。 容器镜像 第三方可以直接输入镜像地址,或单击“选择容器镜像”按钮,进入镜像列表,选择镜像。 我的镜像:展示了您上传到 容器镜像服务 的镜像。如果您想要在容器 镜像服务 中上传镜像,请参考客户端上传镜像或页面上传镜像。 如您是 IAM 用户,您需要参考(可选)上传镜像进行权限设置后才可使用账号的私有镜像。 镜像单层解压后的实际大小不能超过20G。 开源镜像中心:展示了镜像中心的公共镜像。 共享镜像:展示了容器镜像服务中他人共享的镜像。 镜像指定完成后,需要选择镜像的版本号。您还可以单击下方“添加容器镜像”按钮,添加多个容器镜像。 镜像快照大小 填写镜像快照大小,最小为10GiB,范围为10-400G。推荐按照所有缓存镜像大小总和的2倍设置快照大小。 添加镜像快照构建信息。 命名空间 选择已有命名空间或单击“创建命名空间”按钮,创建新的命名空间。 如果您要缓存的镜像包含私有镜像仓库,请确保命名空间绑定的vpc与私有镜像仓库网络互通。如需缓存公网镜像,需要命名空间绑定的vpc配置SNAT规则,参考从容器访问公网。 镜像仓库访问凭证 如果您容器里选择的镜像是私有的,请输入所选镜像的仓库地址、用户名、密码,用来拉取镜像。单击“添加凭证”,可添加多个。 勾选“镜像快照默认使用 2核4G 规格的CCI实例进行制作,收取费用为制作过程中产生的费用”。 确认镜像快照配置信息和费用显示正常,单击“确认创建”。
-
使用第三方镜像拉取用户业务镜像 使用CCI提供的工具创建第三方镜像仓库认证secret。 imagepull-secret-generator --ak=$ak --sk=$sk --private-user=$user --private-password=$password --output-file-path=my-imagepull-secret.json --project-name=region --secret-name=my-imagepull-secret --swr-address=swr.***.com 登录CCE集群节点,为集群创建secret。 kubectl apply -f my-imagepull-secret.json 创建负载,使用secret。 在spec.imagePullSecrets中指定第三方仓库认证secret。 apiVersion: apps/v1kind: Deploymentmetadata: labels: app: test-imagepull virtual-kubelet.io/burst-to-cci: enforce name: test-imagepullspec: replicas: 1 selector: matchLabels: app: test-imagepull template: metadata: labels: app: test-imagepull spec: containers: - image: xxx/my-image:latest imagePullPolicy: Always name: nginx resources: limits: cpu: 1 memory: 2Gi requests: cpu: 1 memory: 2Gi imagePullSecrets: - name: my-imagepull-secret
-
漏洞详情 Kubernetes官方发布安全漏洞CVE-2020-8557,CVSS Rating: Medium (5.5) CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/CR:H/IR:H/AR:M。 漏洞源于kubelet的驱逐管理器(eviction manager)中没有包含对Pod中挂载的/etc/hosts文件的临时存储占用量管理,因此在特定的攻击场景下,一个挂载了/etc/hosts的Pod可以通过对该文件的大量数据写入占满节点的存储空间,从而造成节点的拒绝访问(Denial of Service)。 参考链接:https://github.com/kubernetes/kubernetes/issues/93032
-
简介 CCE集群成功将负载弹性到CCI运行起负载后,用户可以通过CCE的“CCE Log Collector”插件来收集pod的日志,提升工作负载的可观测性。通过阅读本章用户可以快速搭建日志平台,在CCE的日志观测CCI侧日志。 弹性到CCI的负载会默认开启容器标准输出采集并上报到 应用运维管理 , AOM 每月赠送每个租户500M的免费日志存储空间,超过500M时将根据实际使用量进行收费,计费规则请参见产品价格详情。 若要关闭标准输出采集可通过在Pod annotation中指定log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}'实现,参考示例: kind: DeploymentapiVersion: apps/v1metadata: name: test namespace: defaultspec: replicas: 1 template: metadata: annotations: log.stdoutcollection.kubernetes.io: '{"collectionContainers": []}' spec: containers: - name: container-1 image: nginx:latest
-
操作步骤 账号A委托账号B以联邦用户的身份管理账号A中的资源,需要完成以下步骤: 创建委托(委托方操作) 登录委托方(账号A)IAM控制台创建委托,需要填写被委托方(账号B)的账号名称,并授予被委托方(账号B)云容器实例所有权限“CCI FullAccess”,拥有该权限的用户可以执行云容器实例所有资源的创建、删除、查询、更新操作。 为委托账号授权命名空间权限(委托方操作) 进入委托方(账号A)的CCI控制台,在权限管理页面为被委托方(账号B)授予命名空间下资源的权限,通过权限设置可以让不同的委托账号拥有操作指定Namespace下Kubernetes资源的权限。 联邦身份认证(被委托方操作) 登录被委托方(账号B),在被委托方(账号B)中进行联邦身份认证操作。 在委托联邦用户管理资源之前,需对被委托方进行联邦身份认证,联邦身份认证过程主要分为两步:建立互信关系并创建身份提供商和在华为云配置身份转换规则。 创建身份提供商时,会创建出默认的身份转换规则,用户需要单击“编辑规则”将默认的身份转换规则更新掉,或者将默认的身份转换规则删除,重新创建新的规则。如果默认的身份转换规则在没有删掉的情况下直接添加新规则,可能会匹配上这条默认规则,添加的新规则就会不生效。 分配委托权限(被委托方操作) 如果被委托方(账号B)下的子用户想要切换委托,就必须由被委托方(账号B)分配委托权限。因此,为了使得联邦用户拥有管理委托方(账号A)资源的权限,就需要被委托方(账号B)授予联邦用户所在用户组(federation_group)自定义策略“federation_agency”。“federation_group”用户组为联邦用户所在的用户组,也是配置身份转换规则时,写入规则中的联邦用户组。 切换角色(被委托方操作) 账号B以及分配了委托权限的联邦用户,可以切换角色至委托方账号A中,根据权限管理委托方的资源。
-
约束与限制 使用场景 使用说明 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个文件。 容器停止前日志采集 当容器被停止时,如果出现因网络延迟、资源占用多等原因导致的采集延时,可能会丢失容器停止前的部分日志。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格