首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

一个混合(IBM Power 和 x86)架构场景中的 Mesos 和 Kubernetes(1)

一个混合(IBM Power 和 x86)架构场景中的 Mesos 和 Kubernetes(1)

关于 Mesos 和 Kubernetes目前,有多种用于 Linux® 的流行的容器集群系统,比如 Kubernetes、Mesos 等。Google Kubernetes 和 Apache Mesos 可能将容器部署到容器内的两个最常用的工具。二者都被创建为辅助工具,用于管理容器集群。但是,它们的方法有很大区别。
我们的客户始终有一个包含 IBM® Power® 和 x86 的混合架构。所以,本文将提供将 Mesos 和 Kubernetes 应用于混合架构(包括 Power 和 x86)环境上的 Linux 中的参考解决方案。
请参见图 1,以便了解这个参考架构。
图 1. 混合(Power 和 x86)架构上的 Kubernetes 和 Mesos 的架构图部署现在让我们在混合架构上设置和部署 Mesos 和 Kubernetes 的 Docker 集群。在这里,我们将对主节点中的每个模块使用 Docker 镜像。
前提条件
  • 了解 Mesos、Kubernetes 和 Docker
  • 一个混合架构集群,其中包含:
    • Linux 终端、Docker 和 git
    • 至少 4 个 x86 节点和 1 个 IBM Power 节点
  • 禁用每个节点中的防火墙
环境
我们至少需要 3 个包含 CentOS 7.2 的节点,以便安装 ZooKeeper 集群、Mesos 主集群、etcd 集群和 Kubernetes-Mesos 集群。
  • 192.168.1.2 (x86)
  • 192.168.1.3 (x86)
  • 192.168.1.4 (x86)
我们需要至少两个包含 CentOS 7.2 的节点来安装 Mesos 从属集群。
  • 192.168.1.5 (x86)
  • 192.168.1.6 (IBM Power)
部署 ZooKeeper 集群
使用根用户特权执行以下步骤,以便部署 ZooKeeper 集群:
在 192.168.1.2 中:
1
2
3
4
docker run -d \
-e MYID=1 \
-e SERVERS=192.168.1.2,192.168.1.3,192.168.1.4 \
--name=zookeeper --net=host --restart always powerkvm/zookeeper-x86




在 192.168.1.3 中:
1
2
3
4
docker run -d \
-e MYID=2 \
-e SERVERS=192.168.1.2,192.168.1.3,192.168.1.4 \
--name=zookeeper --net=host --restart always powerkvm/zookeeper-x86




在 192.168.1.4 中:
1
2
3
4
docker run -d \
-e MYID=3 \
-e SERVERS=192.168.1.2,192.168.1.3,192.168.1.4 \
--name=zookeeper --net=host --restart always powerkvm/zookeeper-x86




部署 Mesos 主集群
使用根用户特权执行以下步骤,以便部署 Mesos 主集群:
在 192.168.1.2 中:
1
2
3
docker run -d -e MESOS_HOSTNAME=192.168.1.2 -e MESOS_IP=192.168.1.2 -e MESOS_QUORUM=2 \
-e MESOS_ZK=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--name mesos-master --net host --restart always powerkvm/mesos-master-x86




在 192.168.1.3 中:
1
2
3
docker run -d -e MESOS_HOSTNAME=192.168.1.3 -e MESOS_IP=192.168.1.3 -e MESOS_QUORUM=2 \
-e MESOS_ZK=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--name mesos-master --net host --restart always powerkvm/mesos-master-x86




在 192.168.1.4 中:
1
2
3
docker run -d -e MESOS_HOSTNAME=192.168.1.4 -e MESOS_IP=192.168.1.4 -e MESOS_QUORUM=2 \
-e MESOS_ZK=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--name mesos-master --net host --restart always powerkvm/mesos-master-x86




部署 etcd 集群
使用根用户特权执行以下步骤,以便部署 etcd 集群:
在 192.168.1.2 中:
1
2
3
4
5
6
7
8
9
10
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd --restart always quay.io/coreos/etcd:v2.2.1 \
-name etcd0 \
-advertise-client-urls http://192.168.1.2:2379,http://192.168.1.2:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://192.168.1.2:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster etcd0=http://192.168.1.2:2380,etcd1=http://192.168.1.3:2380,etcd2=http://192.168.1.4:2380\
-initial-cluster-state new




在 192.168.1.3 中:
1
2
3
4
5
6
7
8
9
10
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd --restart always quay.io/coreos/etcd:v2.2.1 \
-name etcd0 \
-advertise-client-urls http://192.168.1.3:2379,http://192.168.1.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://192.168.1.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster etcd0=http://192.168.1.2:2380,etcd1=http://192.168.1.3:2380,etcd2=http://192.168.1.4:2380\
-initial-cluster-state new

返回列表