Harbor On QingCloud 升级至 1.7.6,修复权限提升漏洞 CVE-2019-16097

Harbor On QingCloud 发布新版 Harbor 1.7.6 – QingCloud 1.3.1,升级到 Harbor 稳定版 1.7.6 ,修复权限提升漏洞

Harbor 是一个开源的企业级私有 Docker 镜像仓库方案,用于存储和分发 Docker 镜像,并提供基于角色的权限控制、仓库间 Image 异步复制、LDAP/AD 支持、图形界面等功能。 Harbor on QingCloud 将 Harbor 制作成了 App,能直接在 AppCenter 进行一键部署,并提供了一个高可用、高安全、高性能的解决方案,具有如下特性:

  • 镜像存储集成 QingStor 对象存储以及 QingStor NeonSAN(Server SAN) —— 由青云 QingCloud 提供,具有安全可靠、简单易用、高性能特点
  • 镜像存储可对接第三方 S3 对象存储
  • 支持应用节点横向和纵向伸缩
  • 高可用
  • 一键部署

升级请参考用户手册

KubeSphere®️(QKE) 1.0.1 新版发布,多项更新并更稳定易用

一、KubeSphere®️(QKE) 概述

KubeSphere®️(QKE),即 QingCloud Kubernetes Engine,通过 QingCloud AppCenter 将KubeSphere®️ 诸多容器管理功能一键交付给终端用户,如 多租户管理、DevOps、微服务治理、多租户日志检索、Kubernetes 监控中心等,同时省去了用户构建 Kubernetes 集群以及安装 KubeSphere 的过程,极大降低了运维成本并将容器上层业务功能快速带进客户真实业务场景。 QKE 详细用户手册参考


二、功能更新及 bug 修复

  1. 基于 Ubuntu 18.04.1 LTS 64 bit 操作系统
  2. 内置 KubeSphere 高级版 v2.0.2 提供 Kubernetes 管理运维、DevOps、微服务治理等功能
  3. 内置 QingCloud Cloud Controller Manager v1.3.6,可自动创建云平台负载均衡器并暴露服务
  4. 内置 NFS,Ceph RBD,Glusterfs 客户端程序
  5. 优化 KubeSphere console 链接地址显示
  6. 禁止将 Qingcloud 镜像仓库地址设置为 registry mirror
  7. QKE 集群自动伸缩
  8. 删除私有镜像仓库服务环境参数
  9. 优化预制资源名
  10. 内置 KubeSphere v2.0.2
  11. 删除 Harbor 和 Gitlab 容器镜像
  12. 在支持的区创建 NeonSAN 存储类型
  13. 支持 EIP 访问 Kubernetes
  14. 新增安装 KubeSphere 选项,默认安装
  15. insecure registry 输入正则检查
  16. 内置 arping
  17. 删除 latest tag 的容器镜像
  18. 内置 NFS 动态分配 Helm Chart
  19. 在 Qingcloud 控制台显示 Kubeconfig 
  20. 启用 kube 和系统资源保留
  21. 启用 Docker 日志 rotation
  22. 修复 hosts aliases 输入参数检测缺陷
  23. 修复 max pods 参数在工作节点失效缺陷
  24. 修复审计日志文件路径输入参数检测缺陷
  25. 修复创建集群时创建软链接失败缺陷

KubeSphere® 容器平台高级版 2.0.2 Release Notes

关于 KubeSphere® 高级版

KubeSphere® 共提社区版易捷版以及高级版三个版本,其中社区版和易捷版主要提供多租户管理、集群运维、应用管理等功能,而高级版主要针对企业用户,目的是满足企业内不同角色用户、提供多种以容器为资源载体的的业务功能模块。 KubeSphere® 高级版 初始安装请参考安装部署指南

高级版 2.0.2 更新详情列表

功能增强
  • 官网提供 API docs
  • 防止暴力破解
  • 规范资源名最大长度
  • 升级项目网关(Ingress Controller)版本至 0.24.1,支持 Ingress 灰度发布
BUG FIXES
  • 修复流量拓扑图显示项目之外资源的问题
  • 修复流量拓扑图在特定条件下显示多余服务组件的问题
  • 修复 Source to Image 重新构建镜像操作在特定条件下无法执行的问题
  • 修复失败的 Source To Image 任务导致服务选择页面展示的问题
  • 修复容器组(Pod)状态异常时无法查看日志的问题
  • 修复磁盘监控无法检测到部分挂盘类型,例如 LVM 硬盘
  • 修复已部署应用无法删除的问题
  • 修复应用组件状态判断有误的问题
  • 修复主机节点数计算错误的问题
  • 修复添加环境变量时切换到引用配置按钮导致输入数据丢失的问题
  • 修复项目 Operator 角色用户不能 re-run job 的问题
  • 修复无 IPv4 环境 uuid 无法初始化的问题
  • 修复日志详情页无法滚动下拉查看过往日志的问题
  • 修复 KubeConfig 文件中 APIServer 地址错误的问题
  • 修复无法修改 DevOps 工程名称的问题
  • 修复容器日志无法指定时间查询的问题
  • 修复在特定情况下关联的镜像仓库秘钥没有保存的问题
  • 修复应用下服务组件创建页面没有镜像仓库秘钥参数的问题

安装指南

一键部署 QKE,快速拥有生产级 KubeSphere 

Release Notes 参考链接

 

KubeSphere®️(QKE) – Kubernetes 管理服务正式上线

一、KubeSphere®️(QKE) 概述

KubeSphere®️(QKE),即 QingCloud Kubernetes Engine,通过 QingCloud AppCenter 将KubeSphere®️ 诸多容器管理功能一键交付给终端用户,如 多租户管理、DevOps、微服务治理、多租户日志检索、Kubernetes 监控中心等,同时省去了用户构建 Kuberentes 集群以及安装 KubeSphere 的过程,极大降低了运维成本并将容器上层业务功能快速带进客户真实业务场景。

QKE 详细用户手册参考


二、核心功能

一键交付的高可用 Kubernetes 集群
通过青云管理控制台仅需简单几步就可以拥有生产级可用的 Kubernetes 集群

打通云平台的存储和负载均衡服务
基于 Kubernetes 标准插件机制,用户无需关心存储和负载均衡器底层资源调度,均可在 KubeSphere 控制台上快速使用相应的服务

对接 QingCloud 块存储:

对接 QingCloud LoadBalancer:

可选的外置 etcd 和 ES 服务带来更灵活更稳定的服务
可选择依赖外部的 etcd 集群和 ELK 服务,为 Kubernetes 集群带来更强大的支撑能力,同时可以使用外置服务各种附加能力,如 etcd app 的备份和恢复、ELK app 的冷-温-热存储等

etcd 的备份及恢复:

ELK 冷热存储:

基于 KubeSphere 高级版为用户带来企业级容器服务体验
QKE 集群创建好之后可以通过快速链接打开 KubeSphere 控制台,以极低学习成本和良好的用户体验,为用户带来多种构建在 Kubernetes 之上的功能,具体可参考 KubeSphere 官方网站

KubeSphere® 容器平台高级版 2.0.1 Release Notes

关于 KubeSphere® 高级版

KubeSphere® 共提社区版易捷版以及高级版三个版本,其中社区版和易捷版主要提供多租户管理、集群运维、应用管理等功能,而高级版主要针对企业用户,目的是满足企业内不同角色用户、提供多种以容器为资源载体的的业务功能模块。 KubeSphere® 高级版 初始安装请参考安装部署指南

高级版 2.0.1 更新详情列表

BUG FIXES
  • 修复 CI/CD 流水线无法正确识别代码分支名中含有特殊字符的问题
  • 修复 CI/CD 流水线在部分情况下无法查看日志的问题
  • 修复日志查询时,因索引文档分片异常造成的无日志数据输出的问题,并增加对异常的提示
  • 修复无日志情况下搜索日志,提示异常的问题
  • 修复流量治理拓扑图线条重叠的问题 修复镜像策略应用无效的问题

Release Notes 参考链接

 

KubeSphere® 容器平台高级版 2.0.0 Release Notes

KubeSphere® 简介

KubeSphere® 是基于 Kubernetes 构建的企业级分布式多租户容器管理平台,目的是为个人和企业用户提供更好的 Kubernetes 集群运维、基于容器的 CI/CD,微服务治理,应用生命周期管理等功能。

关于 KubeSphere® 高级版

KubeSphere® 共提供社区版易捷版以及高级版三个版本,其中社区版和易捷版主要提供多租户管理、集群运维、应用管理等功能,而高级版主要针对企业用户,目的是满足企业内不同角色用户、提供多种以容器为资源载体的的业务功能模块。

关于 2.0.0

KubeSphere® 高级版 2.0.0 基于 Kubernetes 1.13.5 开发,并验证过 1.10.5 及以上小版本、1.12.5及以上小版本,初始安装请参考安装部署指南,原有的基于 KubeSphere® 高级版 1.0.x 搭建的环境可以通过官方 Installer 无缝升级到 2.0.0。

1.0.x Release Notes 参考链接

1.0.0 Release Notes 1.0.1 Release Notes

高级版 2.0.0 更新详情列表

组件升级


  • 集成 QingCloud CSI v0.2.1 存储插件,支持 QingCloud 单副本硬盘,容量型、性能型、超高性能型、基础型、企业型、NeonSAN 硬盘  

  • 可选安装组件 Harbor 升级至 1.7.5  

  • 可选安装组件 GitLab 升级至 11.8.1  

  • Prometheus 升级至 2.5.0  

微服务治理


  • 集成 Istio 1.1.1,支持图形化创建包含多个微服务组件的应用

  • 支持为项目(外网访问)和应用开启/关闭应用治理  

  • 内置微服务治理示例 Bookinfo  

  • 支持流量治理  

  • 支持流量镜像
  • 基于 istio 可提供微服务级别的负载均衡功能

  • 支持金丝雀发布  

  • 支持蓝绿部署  

  • 支持熔断  

  • 支持链路追踪  

DevOps


  • CI/CD 流水线提供邮件通知模板

  • CI/CD 图形化编辑流水线增强

  • 提供基于 SonarQube 7.4 的代码漏洞扫描功能

  • 提供 Source to Image 功能,基于代码无需 Dockerfile 直接构建应用负载并发布运行

监控


  • 提供 Kubernetes 组件独立监控页,包括 etcd、kube-apiserver 和 kube-scheduler

  • 优化若干监控指标算法  

  • 优化监控资源占用,减少 Prometheus 内存及磁盘使用量 80% 左右    

日志


  • 提供根据租户权限过滤的统一日志检索控制台

  • 支持精确和模糊日志检索

  • 支持实时和历史日志检索

  • 支持组合条件日志检索,包括:项目、工作负载、容器组、容器、关键字和时间范围

  • 支持单条日志直达日志详情页,并可切换不同容器组以及容器组下不同容器

  • 支持日志详情页直达容器组或者容器详情页

  • 基于自研 FluentBit Operator 提供灵活的日志收集配置:可添加 Elasticsearch、Kafka 和 Fluentd 作为日志接收者,并可按需激活/关闭;在发送给日志接收者前,可灵活输入过滤条件筛选出感兴趣的日志

告警和通知


  • 支持针对集群节点和工作负载资源的邮件通知

  • 支持组合通知规则:可组合多种监控资源,制定不同的告警级别、检测周期、推送次数和阈值

  • 可配置通知时间段和通知人

  • 支持针对不同通知级别设置独立的通知重复规则

安全


其他


  • 支持 etcd 备份及恢复

  • 支持 docker 镜像定期清理

  • 多处用户体验优化

  • 更正多处中英文页面文案

高级版 2.0.0 bug 修复详情列表


  • 修复删除页面资源页面未及时更新问题

  • 修复删除 HPA 工作负载后残留脏数据问题

  • 修复任务(Job)状态显示不正确的问题

  • 更正资源配额、Pod 用量、存储指标算法

  • 调整 CPU 用量结果精度

  • 其他若干 bug 修复

快速入门

快速入门请参考 https://docs.kubesphere.io/advanced-v2.0/zh-CN/quick-start/quick-start-guide/

2.0.0 新功能快览

Kubernetes 组件监控页

统一日志检索页

SonarQube 代码漏洞扫描

 

Source to Image

流量治理&熔断

链路追踪

 

灰度发布

Harbor On QingCloud 升级至 1.7.4,并支持最高容量 50T 的 NeonSAN 存储节点

Harbor On QingCloud 发布新版 Harbor 1.7.4 – QingCloud 1.2.1,升级到 Harbor 最新稳定版 1.7.4 ,Harbor 1.7.4 包含多项修复,同时 app 存储节点支持 NeonSAN,最高可达 50T

Harbor 是一个开源的企业级私有 Docker 镜像仓库方案,用于存储和分发 Docker 镜像,并提供基于角色的权限控制、仓库间 Image 异步复制、LDAP/AD 支持、图形界面等功能。

Harbor on QingCloud 将 Harbor 制作成了 App,能直接在 AppCenter 进行一键部署,并提供了一个高可用、高安全、高性能的解决方案,具有如下特性:

  • 镜像存储集成 QingStor 对象存储—— 通用的海量非结构化数据存储服务,由青云QingCloud 提供,具有安全可靠、简单易用、高性能、低成本等特点
  • 镜像存储也可选择使用本地存储
  • 支持应用节点横向和纵向伸缩
  • 高可用
  • 一键部署

 

本次更新升级到 Harbor 最新稳定版 1.7.4 ,同时 app 支持 QingStor NeonSAN 并修复了集群健康检查在 dns 查询慢的情况下导致创建失败的问题。

NeonSAN 存储节点单盘最高可达 50T:

升级前请手动备份原有配置,详见官方文档

Harbor On QingCloud 支持在线垃圾回收 & 加速页面加载等多项特性及优化

Harbor On QingCloud 发布新版 Harbor 1.7.1 – QingCloud 1.2.0,升级到 Harbor 最新稳定版 1.7.1 ,Harbor 1.7.1包含多项改进:优化页面加载速度、在线垃圾回收、开启日志轮转防止容量耗尽等,同时 app 修复了系统配置丢失的问题。

Harbor 是一个开源的企业级私有 Docker 镜像仓库方案,用于存储和分发 Docker 镜像,并提供基于角色的权限控制、仓库间 Image 异步复制、LDAP/AD 支持、图形界面等功能。

Harbor on QingCloud 将 Harbor 制作成了 App,能直接在 AppCenter 进行一键部署,并提供了一个高可用、高安全、高性能的解决方案,具有如下特性:

  • 镜像存储集成 QingStor 对象存储—— 通用的海量非结构化数据存储服务,由青云QingCloud 提供,具有安全可靠、简单易用、高性能、低成本等特点
  • 镜像存储也可选择使用本地存储
  • 支持应用节点横向和纵向伸缩
  • 高可用
  • 一键部署

 

本次更新升级到 Harbor 最新稳定版 1.7.1 ,其包含 Harbor 的多项改进:

  • 优化页面加载速度
  • 在线垃圾回收
  • 开启日志轮转防止容量耗尽

同时 app 修复了系统配置丢失的问题,升级前请手动备份原有配置,详见官方文档

Tomcat Cluster On QingCloud 支持增加禁用管理员界面、滚动升级等功能

Tomcat Cluster On QingCloud 发布新版 Tomcat 集群版-QingCloud-v2.1.0,增加禁止登录管理员页面,支持私有云 QingStor 对象存储以及滚动升级功能

Apache Tomcat 是一个开源的,使用极为广泛的轻量级应用服务器之一。

Tomcat Cluster on QingCloud 将 Tomcat 集群以 App 形式交付给用户,能直接在 AppCenter 进行一键部署,并提供了一个高可用、高安全、高性能的解决方案,具有如下特性:

  • 集成 Tomcat 7.0.85,8.5.28 以及 9.0.5 三个版本
  • 可选择使用 OpenJDK 1.7.0_75-b13,1.8.0_172-ea-b03 或者 9.0.4+11 作为 Java 运行环境
  • 日志输出基于 log4j 1.2.17 发送到独立的日志节点,同时用户可通过日志节点登录到 Tomcat 节点
  • 使用 Tomcat DeltaManger 实现多对多(all-to-all)会话复制(session replication),支持随 Tomcat 发布的 SimpleTcpCluster,通过内存(in-memory)实现 session replication,同时也可选择通过 Redis(Standalone)数据库存储 session 数据
  • 集成 Tomcat Manager,通过配置 Tomcat 管理员用户名/密码,访问 Tomcat Manager Console 或者 URL 方式完成 WAR 文件部署、启停等动作 ,war 文件通过 FarmWarDeployer 分发到各个节点
  • 上传  war 文件至 QingStor 对象存储,在 Tomcat 集群创建时配置相应 QingStor 访问参数,集群启动时自动下载并完成 war 文件部署,也可通过集群管理页面菜单多次部署不同 war 文件
  • 支持 Tomcat 节点横向和纵向伸缩
  • 高可用
  • 一键部署

本次更新包括:

  1. 增加禁止登录管理员页面的功能:在创建集群时,通过设置集群环境变量,将Tomcat 管理员用户名为空
  2. 增加对私有云 QingStor 对象存储的支持
  3. 支持滚动升级

具体 Tomcat Cluster On QingCloud 的部署及使用说明,请参考官方文档

针对近期爆出 runc 容器逃逸漏洞的安全警示及防范建议

尊敬的用户:

针对近期暴露的 runc 容器逃逸漏洞,青云 QingCloud 一直在密切观察和研究,同时与您同步以下信息并期望获得您的重视:

什么是 runc

Runc 是一个根据 OCI (Open Container Initiative) 标准构建的并运行容器的底层工具,诸如 Docker,Containerd 以及 CRI-O 都以其为底层核心去处理数据的格式化和序列化。而 Kubernetes 作为容器调度管理平台基于这些容器运行环境,也受到了此漏洞的影响。

此漏洞(CVE-2019-5736)可能会造成的影响

引自 runc 团队的 Aleksa Sarai 的解释(翻译稿):“此项安全漏洞允许恶意容器(在最低用户交互等级下)覆盖主机 runc 二进制文件,这意味着攻击者将借此获得在主机上以 root 层级执行代码的权限。”

“具体来讲,攻击者能够利用一套其可以控制的镜像创建新的容器,或者是向其能够访问的现有容器之内添加 docker exec 文件。在这类情况下的任意容器当中,该攻击者都将能够通过当前用户交互等级以 root 权限运行任意命令(无论命令本身是否由攻击者所控制)。”

 

降低风险以及规避漏洞的建议

  • 严格控制集群的外网访问权限
  • 不下载和运行来历不明的容器镜像
  • 以 non-0 方式运行容器镜像(在 securityContext 中配置 runAsUser)
    apiVersion: v1
    kind: Pod
    metadata:
      name: run-as-uid-1000
    spec:
      securityContext:
        runAsUser: 1000
      # ...
  • 升级 docker 或者 runc
    升级 Docker 至 18.06.2,可参考官方文档(注意:此版本仅兼容 4.x 内核,请谨慎升级)
    runc 升级参考:
    1. 定位 runc 的执行文件位置:

    which docker-runc

    2. 备份此文件:

    mv /usr/bin/docker-runc /usr/bin/docker-runc.bak.$(date -Iseconds)

    3. 获取对应 OS 和 docker 版本的 runc 执行文件,并复制到相应目录:

    cp runc-v18.06.1-amd64 /usr/bin/docker-runc

    4. 确保 docker-runc 具有可执行权限:

    chmod +x /usr/bin/docker-runc

    5. 验证其能否正常工作:

    docker-runc -v
    docker run -it --rm ubuntu echo OK

在以上配置升级过程中碰到任何问题,您可联系青云客服获取我们的支持。

青云 QingCloud 平台可能受影响的服务及产品

公有云容器服务:Kubernetes On QingCloud

容器产品:KubeSphere

我们容器团队会在近期发布 Kubernetes On QingCloud 以及 KubeSphere 的升级版本进行漏洞修复。