容器应用编排与管理 Kubernetes on QingCloud 上线

青云QingCloud Kubernetes 应用给用户提供基于原生 Kubernetes 的容器集群管理与编排功能,用户可以基于此应用来进行容器相关的应用开发、部署、升级、CI/CD和微服务构建等。Kubernetes应用充分整合青云底层的SDN和SDS能力,并基于AppCenter2.0应用交付框架和运营管理平台提供了应用本身的全生命周期管理能力,包括:创建、横向/纵向扩容、健康检查、监控告警等, 具体功能如下:

  1. 集成QingCloud IaaS 的负载均衡器,用户可以将自己的 Kubernetes 中的服务通过负载均衡器暴露到公网或内网,供外部或内网其它容器或虚拟主机集群使用。
  2. 集成QingCloud IaaS 的SDS,用户可以直接使用 IaaS 的高性能和超高性能硬盘,解决容器的数据持久化存储问题。
  3. 集成QingCloud IaaS 的 SDN,容器直接使用 VPC 的 SDN 网络,减少overlay,保证高性能的网络。
  4. 提供集群的运维管理能力: 可增加或者删除节点,可纵向伸缩,可动态更新节点配置,节点健康检查,监控&告警等。
  5. 集成QingCloud Docker Registry公有镜像仓库,以供用户更高效的开发基于docker的应用,同时也可以使用AppCenter上提供的Harbor App来部署用户私有的Docker镜像仓库。
  6. 基础服务组件:
    1. 内置Kubernetes官方dns 组件,用于服务发现.
    2. 内置Kubernetes官方 heapster和dashboard组件,用于通过界面管理 k8s 中的容器、服务和各类资源。
    3. 内置日志组件Fluent+ElasticSearch+Kibana,用于收集 Kubernetes集群本身以及用户业务容器输出的日志,并可设置自动清理机制。
  1. 提供基于Docker应用的部署、横向伸缩、滚动升级和回滚等功能

产品使用地址为: https://appcenter.qingcloud.com/apps/app-u0llx5j8

    

大数据引擎 SparkMR on QingCloud 上线

SparkMR on QingCloud 将 Apache Hadoop 和 Spark 集成到同一个集群服务中,以AppCenter云应用的形式交付给用户使用。

1.0 版本功能

  • 当前版本支持的Hadoop和Spark分别是 Apache Hadoop 2.7.3 和 Apache Spark 2.2.0 ;
  • 支持Apache Hadoop的绝大部分功能以及Apache Spark的所有功能,并都可以与QingStor对象存储集成;
  • 支持Spark Standalone和Spark on YARN两种模式;
  • 支持Python及Anaconda发行版的数据科学包并可在Python2和Python3之间切换;
  • 支持设置Hadoop proxyuser;
  • 同时提供了Anaconda发行版的Python 2.7.13和Python 3.6.1及其对应的Anaconda发行版的数据科学包numpy, scikit-learn, scipy, Pandas, NLTK and Matplotlib等,并可在Python2和Python3之间进行切换;
  • 支持R语言;
  • 支持上传自定义的Spark应用内调度器和YARN调度器;
  • 配置参数增加到近60个,定制服务更方便;
  • 指定依赖服务,自动添加依赖服务中所有节点到hosts;
  • 此外还提供了服务级别的监控告警、健康检查与服务自动恢复;支持水平与垂直扩容。

产品使用地址为:https://appcenter.qingcloud.com/apps/app-6iuoe9qs

高性能、高可用的文档型数据库 MongoDB on QingCloud 上线

MongoDB 是一个开源的文档型数据库,具有高性能、高可用等优点。

MongoDB on QingCloud 提供的是原生 MongoDB Replication 云服务,提供冗余并增加了数据的高可用性。

MongoDB v3.4.5 (WiredTiger) 版本功能

– 采用 MongoDB v3.4.5 版本构建

– 基于 WiredTiger 引擎

– 默认三个节点,最大支持七个节点

– 支持集群节点的横向伸缩和纵向扩容

– 支持数据备份

产品使用地址为: https://appcenter.qingcloud.com/apps/app-o1rl71en

列式 NoSQL 数据库 HBase on QingCloud 上线

HBase on QingCloud 是一个开源的、分布式的、数据多版本的,列式存储 NoSQL 数据库。依托 Hadoop 的分布式文件系统 HDFS 作为底层存储, 能够为数十亿行数百万列的海量数据表提供随机、实时的读写访问。 在青云上,您可以很方便的创建和管理一个 HBase 集群。集群支持横向与纵向在线伸缩,还提供了监控告警等功能,使得管理集群非常方便。集群将运行于 100% 二层隔离的私有网络内,结合青云提供的高性能硬盘,在保障高性能的同时兼顾您的数据安全。

QingCloud 1.0 – HBase 1.2.6 版本功能

此版本提供的是原生 Apache HBase 1.2.6 发行版,HDFS使用原生 Apache Hadoop 2.7.3 发行版。服务包含:HBase 数据库服务、HDFS 分布式文件系统、Phoenix 查询引擎、HBase Restful 服务、HBase Thrift 服务。压缩格式方面支持 GZIP、BZIP2、LZO、SNAPPY。

产品使用地址为: https://appcenter.qingcloud.com/apps/app-3k61fkmg

企业级 Docker 镜像仓库 Harbor on QingCloud 上线

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

Harbor on QingCloud 是在 Harbor 的基础上,以 QingCloud AppCenter 的 App 形式进行一键部署,并提供了一个高可用、高安全、高性能的 Docker 镜像仓库方案,版本详细功能如下:

  • v1.0.2 版本功能

    * 优化 Cache 连接时间

    * 增强启动检测机制

    * 修复 Pull 的稳定性

  • v1.0.1 版本功能

    * 修复 HTTPs 监听器 Push 异常

  • v1.0 版本功能

    * 基于VMware Harbor v1.1.1版本

    * 镜像存储集成QingStor对象存储服务

    * 支持应用节点横向和纵向扩容

    * 一键式安装

    * 一键清理镜像

    * 支持只读模式

    产品使用地址为: https://appcenter.qingcloud.com/apps/app-2mhyb1ui

 

QingCloud MySQL Plus上线AppCenter

QingCloud MySQL Plus是关系型数据库 MySQL 的升级版本,提供金融级高可靠的MySQL 集群服务。

MySQL Plus的主要特点:

  • 主从开启 Semi-sync,严格保证节点间的数据一致性;
  • 使用 Raft 协议管理集群主从节点,故障时可实现秒级主从切换,保障业务连续性;
  • 提供了 InnoDB 和 TokuDB 两大事务引擎;
  • 集群为一主多从架构,默认两个从节点,最大支持六个从节点。

MySQL Plus可广泛适用于以下应用场景:

  • 金融及交易型事务等对数据一致性有极高要求的场景;
  • 高并发访问场景;
  • 大规模日志处理等大数据分析场景。

用户可以登录 AppCenter 官网进行安装部署

Docker 初探

本文作者是 QingCloud 用户 roger

对 Docker 好奇很久了,今天最终自己动手尝试一下,系统要求 Ubuntu Server 12.04 LTS 64bit,本想用本地的 VirtualBox 但不支持 64bit(不知道为什么),那就用云服务了,QingCloud 的控制页面确实简洁,很容易使用。

1. 在 QingCloud 中创建测试机器

  • 创建一个 Ubuntu 12.04.2 主机(映像 ID 为 precisex64a)
  • 申请一个公网 IP、并捆绑至该主机
  • 创建一个 SSH 密钥、并捆绑至该主机

以下操作需要 root 权限,如果你使用的帐号不是 root,那么需要 sudo.

2. 安装 Docker

刷新:
apt-get update
apt-get install python-software-properties

添加 PPA:
add-apt-repository ppa:dotcloud/lxc-docker
apt-get update

安装:
apt-get install lxc-docker

3. 下载两个 image (境外网络可能比较慢、甚至中途挂,多试几次,或挂后台)
docker pull ivarvong/redis
docker pull kstaken/apache2

4. 启容器中的服务
docker run -d -p 6379 ivarvong/redis /usr/bin/redis-server
docker run -d -p 80:80 kstaken/apache2

5. 查看运行的容器
docker ps
记录容器的 IP 地址
docker inspect 08821c6ffb4a

6. 为连接 redis 安装一下 cli
apt-get install redis-server

7. 连接 redis 测试一下
redis-cli -p 6379 -h 172.17.0.17
set foo bar
get foo
exit

8, 看看 apache 是否起来
curl localhost

如果可用那么两个容器都正常运行了。

好了,总结一下 Docker 的常用命令:

docker search
用于搜索是否有可用的images,实际从index.docker.io查找,放回查询结果
例如:
docker search apache
docker1
docker pull
从 index.docker.io 下载一个 image ,下载过程会有好几个 fs 层,因为 Docker 生成的容器是可以不断修改保存的,每一次的保存生成fs,一个完整的容器可以是多次的 fs 的叠加。

docker inspect
查看容器的信息,实际是lxc容器的配置参数
docker2
docker run
在容器中运行一个命令,如果容器中有常驻任务会直接启动容器本身

docker run 有诸多的选项,介绍常用的必要选项
-e 设置容器的运行env环境变量
-v 映射服务的一个目录到容器中
-p 容器对服务器暴露的端口
-c cpu使用的权重
-m 限制容器的内存使用量
-i 标准输出到当前term
-t 分配一个tty
一般情况 -i -t 一起使用将容器的输出到term
参考截图:
docker3
例如:
docker run -d -p 80:80 -v /tmp:/var/www kstaken/apache2

将系统的80端口映射到容器的80端口,访问系统的 localhsot 就访问到容器的 apache 服务, apache 会读取 /tmp/index.html 访问
docker4
docker ps -a
列出所有的容器,包括运行的和已经停止的。
docker5
docker rm
删除容器
如果容器不在需要可以用删除容器操作
docker6
docker start
开启停止的容器

docker stop
停止运行的容器
docker7
docker rmi
删除 image

docker info
查看系统的容器和 images

docker commit
修改容器后提交保持

docker push
将 image 推送到 index.docker.io 保持

docker build
用 Dockerfile 文件创建一个 image,具体的 Dockerfile 语法不在介绍,很简单参考官网就可以了。

后续:
Docker 确实可以快速构建一个容器,很快的构建一个 PaaS 容器,对不同的环境使用不同的 Docker 容器即可。不过呢Docker 必须用 root 权限运行,Docker 虽然可以控制容器映射到系统的目录,但容器写服务输出的文件依然是隶属root(非 root 用户无法运行 Docker)。

如果对同一台服务上的少数应用需要控制资源的直接使用 cgroup 是较好的选择,可以按用户或用户组控制系统资源。如果服务需要指出多种环境,那么 Docker 就是最好的。

推荐参考:
http://dockerbook.com/TheDockerBook_sample.pdf