华为云-云容器引擎(CCE)-高危操作及解决方案
业务部署或运行过程中,用户可能会触发不同层面的高危操作,导致不同程度上的业务故障。为了能够更好地帮助用户预估及避免操作风险,本文将从集群/节点维度出发,为用户展示哪些高危操作会导致怎样的后果,以及为用户提供相应的误操作解决方案。
集群/节点
集群及节点高危操作
|
分类 |
高危操作 |
导致后果 |
误操作后解决方案 |
|---|---|---|---|
|
master节点 |
修改集群内节点安全组 |
可能导致master节点无法使用 说明: 命名规则:集群名称-cce-control-随机数 |
参照新建集群的安全组进行修复,放通安全组。 |
|
节点到期或被销毁 |
该master节点不可用 |
不可恢复。 |
|
|
重装操作系统 |
master组件被删除 |
不可恢复。 |
|
|
自行升级master或者etcd组件版本 |
可能导致集群无法使用 |
回退到原始版本。 |
|
|
删除或格式化节点/etc/kubernetes等核心目录数据 |
该master节点不可用 |
不可恢复。 |
|
|
更改节点IP |
该master节点不可用 |
改回原IP。 |
|
|
自行修改核心组件(etcd、kube-apiserver、docker等)参数 |
可能导致master节点不可用 |
按照推荐配置参数恢复,详情请参见配置管理。 |
|
|
自行更换master或etcd证书 |
可能导致集群不可用 |
不可恢复。 |
|
|
worker节点 |
修改集群内节点安全组 |
可能导致节点无法使用 说明: 命名规则:集群名称-cce-node-随机数 |
参照新建集群的安全组进行修复,放通安全组。 |
|
节点被删除 |
该节点不可用 |
不可恢复。 |
|
|
重装操作系统 |
节点组件被删除,节点不可用 |
重置节点,具体请参见重置节点。 |
|
|
升级节点内核 |
可能导致节点无法使用或网络异常 说明: CCE集群依赖系统内核版本,如非必要,请不要使用yum update更新或重装节点的操作系统内核(使用原镜像或其它镜像重装均属高危操作) |
EulerOS 2.2恢复方式请参见如何解决yum update升级操作系统导致容器网络不可用问题? 非EulerOS 2.2您可以重置节点,具体请参见重置节点。 |
|
|
更改节点IP |
节点不可用 |
改回原IP。 |
|
|
自行修改核心组件(kubelet、kube-proxy等)参数 |
可能导致节点不可用、修改安全相关配置导致组件不安全等 |
按照推荐配置参数恢复,详情请参见操作场景。 |
|
|
修改操作系统配置 |
可能导致节点不可用 |
尝试还原配置项或重置节点,具体请参见重置节点。 |
|
|
删除/opt、/var/paas目录,删除数据盘 |
节点不可用 |
重置节点,具体请参见重置节点。 |
|
|
修改节点内目录权限、容器目录权限等 |
权限异常 |
不建议修改,请自行恢复。 |
|
|
对节点进行磁盘格式化或分区 |
节点不可用 |
重置节点,具体请参见重置节点。 |
|
|
在节点上安装自己的其他软件 |
导致安装在节点上的Kubernetes组件异常,节点状态变成不可用,无法部署工作负载到此节点 |
卸载已安装软件,尝试恢复或重置节点,具体请参见重置节点。 |
网络与负载均衡
网络与负载均衡
|
高危操作 |
导致后果 |
误操作后解决方案 |
|---|---|---|
|
修改内核参数net.ipv4.ip_forward=0 |
网络不通 |
修改内核参数为 net.ipv4.ip_forward=1 |
|
修改内核参数net.ipv4.tcp_tw_recycle=1 |
导致nat异常 |
修改内核参数 net.ipv4.tcp_tw_recycle=0 |
|
节点安全组配置未放通容器CIDR的53端口udp |
集群内DNS无法正常工作 |
参照新建集群的安全组进行修复,放通安全组。 |
|
通过ELB的控制台在CCE管理的ELB创建自定义的监听器 |
所做修改被CCE侧重置 |
通过service的yaml来自动创建监听器。 |
|
通过ELB的控制台在CCE管理的ELB绑定自定义的后端rs |
禁止手动绑定后端rs。 |
|
|
通过ELB的控制台修改CCE管理的ELB的证书 |
通过ingress的yaml来自动管理证书。 |
|
|
通过ELB的控制台修改CCE管理的ELB监听器名称 |
禁止修改CCE管理的ELB监听器名称。 |
日志
|
高危操作 |
导致后果 |
误操作后解决方案 |
|---|---|---|
|
删除宿主机 /tmp/ccs-log-collector/pos 目录 |
日志重复采集 |
无 |
|
删除宿主机 /tmp/ccs-log-collector/buffer 目录 |
日志丢失 |
无 |
云硬盘
云硬盘
|
高危操作 |
导致后果 |
误操作后解决方案 |
备注 |
|---|---|---|---|
|
控制台手动解挂EVS |
Pod写入报io error |
删掉node上mount目录,重新调度Pod |
Pod里面的文件记录了文件的采集位置 |
|
节点上umount磁盘挂载路径 |
Pod写入本地磁盘 |
重新mount对应目录到Pod中 |
Buffer里面是待消费的日志缓存文件 |
|
节点上直接操作EVS |
Pod写入本地磁盘 |
无 |
无 |
华为云-云容器引擎(CCE)-高危操作及解决方案的更多相关文章
- 详解华为云基因容器服务GCS
基因测序,作为“下一个能够改变世界”的技术,已经由实验室研究演变到临床使用,为人类预测罹患多种疾病的可能性,提前预防和治疗疾病提供了一套可靠的方法和手段.而基于基因测序在预防和治疗疾病方面的准确和可靠 ...
- 华为云软件开发云:容器DevOps,原来如此简单!
当开发团队把代码提交到 Git 应用仓库的那一刻,他们心里在想什么? 祈祷没有bug?渴望回家补觉?产品经理Go Die? 对,也不对.因为这只是最终发布万里长征的一小步,接下来要面对测试环境.生产环 ...
- 云图说丨初识华为云微服务引擎CSE
摘要:微服务引擎(Cloud Service Engine,CSE),是用于微服务应用的云中间件,为用户提供注册发现.服务治理.配置管理等高性能和高韧性的企业级云服务能力 本文分享自华为云社区< ...
- 华为刘腾:华为终端云Cassandra运维实践分享
点击此处观看完整活动视频 各位线上的嘉宾朋友大家好,我是来自华为消费者BG云服务部的刘腾,我今天给大家分享的主题是华为终端云Cassandra运维实践.和前面王峰老师提到的Cassandra在360中 ...
- Longhorn,企业级云原生容器分布式存储 - 高可用
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- Longhorn 云原生容器分布式存储 - 故障排除指南
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- HiEngine:可媲美本地的云原生内存数据库引擎
摘要:HiEngine与华为GaussDB (for MySQL)集成,将内存数据库引擎的优势带到云端,并与基于磁盘的引擎共存.HiEngine的性能比传统的以存储为中心的解决方案高出7.5倍. 本文 ...
- vivo 云原生容器探索和落地实践
作者:vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...
- 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题
我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
随机推荐
- 《Bitcoin: A Peer-to-Peer Electronic Cash System》 中本聪写的比特币白皮书
网址: https://bitcoin.org/bitcoin.pdf =============================================================
- 区块链共识机制 —— PoW共识的Python实现
原始实现(python2 版本) https://github.com/santisiri/proof-of-work 依据python3特性改进后: #!/usr/bin/env python # ...
- MySQL 优化慢查询
查询以SELECT 语句的形式执行数据库中的所有查找操作.调整这些语句是重中之重,无论是实现动态网页的亚秒响应时间,还是缩短数小时生成大量夜间报告的时间. 此外SELECT语句,进行查询调谐技术也适用 ...
- Java 代码本地设置Hadoop用户名密码
在Hadoop环境中,通常使用Kerberos进行身份验证.但在一些开发或测试环境中,我们可能需要在本地代码中设置用户名和密码来模拟或进行简单的测试.虽然这不是一个安全的做法,因为它违背了Kerber ...
- ChatGPT学习之旅 (9) 系统运维小助手
大家好,我是Edison. 上一篇我们写了一个单元测试助手的prompt,它帮我们写一些我们开发者不太愿意编写的单元测试代码,在我最近一个月的实践中我再也没有手写过单元测试,更多地只是在AI生成的代码 ...
- 为什么重写hashCode一定也要重写equals方法?
这是一个经典的问题,我们先从==开始看起 == "==" 是运算符 如果比较的对象是基本数据类型,则比较的是其存储的值是否相等: 如果比较的是引用数据类型,则比较的是所指向对象的地 ...
- CANopen学习笔记(一)CANopen入门
CANOpen入门 定位:小网络,控制信号的实时通讯 确保实时性采取的措施 ID域:11bit(CAN标准帧格式) 控制报文采用数据最小字节数 采用生产消费模型(数据无需应答) 需要应答时,采用快 ...
- Homebrew 使用
使用 brew install brew uninstall|remove|rm brew list # *显示已安装软件列表 brew upgrade # 更新 Homebrew brew sear ...
- 谈谈 Nginx 那点事【二】
前言 在上一讲 谈谈 Nginx 那点事[一] 中,介绍了Nginx的安装及基本结构,今天将工作中Nginx的一些配置,及常用的场景做一些总结. 这一讲总结的内容主要是关于Nginx服务配置.静态资源 ...
- 使用go+gin编写日志中间,实现自动化收集http访问信息,错误信息等,自动化生成日志文件
1.首先在logger包下 点击查看代码 package logger import ( "fmt" "io" "net/http" &qu ...