一个混合(IBM Power 和 x86)架构场景中的 Mesos 和 Kubernetes(2)
- UID
- 1066743
|
一个混合(IBM Power 和 x86)架构场景中的 Mesos 和 Kubernetes(2)
在 192.168.1.4 中:
部署 Kubernetes-Mesos 集群
使用根用户特权执行以下步骤,以便部署 Kubernetes-Mesos 集群:
将 apiserver、controller manager和 scheduler部署在 192.168.1.2 中:
- 将 mesos-cloud.conf 添加到 /mnt/k8s 中:
1
2
3
| cat /mnt/k8s/mesos-cloud.conf
[mesos-cloud]
mesos-master = zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos
|
- 运行每个 Docker 镜像。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name apiserver --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km apiserver \
--address=192.168.1.2 \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--service-cluster-ip-range=10.10.10.0/24 \
--port=8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--secure-port=0 \
--v=1
docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name controller-manager --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km controller-manager \
--master=192.168.1.2:8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--v=1
docker run -d --privileged --name scheduler --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha kmscheduler \
--address=192.168.1.2 \
--mesos-master=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--mesos-user=root \
--api-servers=192.168.1.2:8888 \
--cluster-dns=10.10.10.10 \
--cluster-domain=cluster.local \
--v=2
|
将 apiserver、controller manager和 scheduler部署在 192.168.1.3 中:
- 将 mesos-cloud.conf 添加到 /mnt/k8s 中:
1
2
3
| cat /mnt/k8s/mesos-cloud.conf
[mesos-cloud]
mesos-master = zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos
|
- 运行每个 Docker 镜像:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name apiserver --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km apiserver \
--address=192.168.1.3 \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--service-cluster-ip-range=10.10.10.0/24 \
--port=8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--secure-port=0 \
--v=1
docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name controller-manager --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km controller-manager \
--master=192.168.1.3:8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--v=1
docker run -d --privileged --name scheduler --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km scheduler \
--address=192.168.1.3 \
--mesos-master=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--mesos-user=root \
--api-servers=192.168.1.3:8888 \
--cluster-dns=10.10.10.10 \
--cluster-domain=cluster.local \
--v=2
|
将 apiserver、controller manager和 scheduler部署在 192.168.1.4 中:
- 将 mesos-cloud.conf 添加到 /mnt/k8s 中:
1
2
3
| cat /mnt/k8s/mesos-cloud.conf
[mesos-cloud]
mesos-master = zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos
|
- 运行每个 Docker 镜像:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name apiserver --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km apiserver \
--address=192.168.1.4 \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--service-cluster-ip-range=10.10.10.0/24 \
--port=8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--secure-port=0 \
--v=1
docker run -d --privileged -v /mnt/k8s:/mnt/k8s --name controller-manager --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km controller-manager \
--master=192.168.1.4:8888 \
--cloud-provider=mesos \
--cloud-config=/mnt/k8s/mesos-cloud.conf \
--v=1
docker run -d --privileged --name scheduler --net=host --restart always powerkvm/k8s-mesos-x86:v1.4.0-alpha km scheduler \
--address=192.168.1.4 \
--mesos-master=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos \
--etcd-servers=http://192.168.1.2:4001,http://192.168.1.3:4001,http://192.168.1.4:4001\
--mesos-user=root \
--api-servers=192.168.1.4:8888 \
--cluster-dns=10.10.10.10 \
--cluster-domain=cluster.local \
--v=2
|
部署 Mesos 从属集群
用于 Mesos 从属节点的 Docker 镜像仍在测试中。所以,我们可以使用包来安装它。
将 Mesos 从属节点部署到 192.168.1.5(x86) 中:
1. 安装 Mesos 从属节点。
2. 配置 Mesos 从属节点。
1
2
3
4
5
6
| #cat > /etc/mesos/zk <<EOF
zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos
EOF
echo 192.168.1.5 | sudo tee /etc/mesos-slave/ip
cp /etc/mesos-slave/ip /etc/mesos-slave/hostname
|
3.启动 mesos-slave 服务。
systemctl restart mesos-slave
|
将 Mesos 从属节点部署到 192.168.1.6(Power) 中:
- 添加存储库。
1
2
3
4
5
6
7
8
| #cat > /etc/yum.repos.d/cluster.repo <<EOF
[cluster]
name=cluster baseurl=http://ftp.unicamp.br/pub/ppc64el/rhel/7_1/misc_ppc64el/
enabled=1
gpgcheck=0
priority=10
sslverify=1
EOF
|
- 安装 Mesos 从属节点。
yum -y install mesos-0.22.1 python-mesos
|
- 配置 Mesos 从属节点。编辑 /etc/sysconfig/mesos-slave 中的变量(下面已突出显示):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| # This file contains environment variables that are passed to mesos-slave.
# To get a description of all options run mesos-slave --help; any option
# supported as a command-line option is also supported as an environment
# variable.
# The mesos master URL to contact. Should be host:port for
# non-ZooKeeper based masters, otherwise a zk:// or file:// URL.
MESOS_master=zk://192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181/mesos
MESOS_EXECUTOR_REGISTRATION_TIMEOUT=10mins
MESOS_IP=192.168.1.6
# For isolated sandbox testing
# MESOS_master=127.0.0.1:5050
# For a complete listing of options execute 'mesos-slave --help'
MESOS_log_dir=/var/log/mesos
MESOS_work_dir=/var/run/mesos
MESOS_containerizers=docker,mesos
# systemd cgroup integration
MESOS_isolation='cgroups/cpu,cgroups/mem'
MESOS_cgroups_root='system.slice/mesos-slave.service'
MESOS_cgroups_hierarchy=/sys/fs/cgroup
|
- 启动 mesos-slave 服务。
service emsos-slave start
|
|
|
|
|
|
|