安装 VirtualBox

$ VBoxManage --version
5.1.22r115126

安装Bosh

$ wget -c https://s3.amazonaws.com/bosh-cli-artifacts/bosh-cli-2.0.48-linux-amd64
$ chmod +x bosh-cli-*
$ sudo mv bosh-cli-* /usr/local/bin/bosh

安装完成后运行下面命令确认安装成功

$ bosh -v
version 2.0.48-e94aeeb-2018-01-09T23:08:07ZSucceeded
$ bosh environments
URL  Alias0 environmentsSucceeded

安装依赖库

$ sudo yum install gcc gcc-c++ ruby ruby-devel mysql-devel postgresql-devel postgresql-libs sqlite-devel libxslt-devel libxml2-devel patch openssl
$ gem install yajl-ruby

安装后检查安装是否成功

$ ruby -v
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]

创建Director

$ mkdir vbox
$ cd vbox
$ git clone https://github.com/cloudfoundry/bosh-deployment

使用 “bosh create-env” 创建Director

$ bosh create-env bosh-deployment/bosh.yml \--state state.json \
  --vars-store ./creds.yml \
  -o bosh-deployment/virtualbox/cpi.yml \
  -o bosh-deployment/virtualbox/outbound-network.yml \
  -o bosh-deployment/bosh-lite.yml \
  -o bosh-deployment/jumpbox-user.yml \
  -v director_name=vbox \
  -v internal_ip=192.168.50.6 \
  -v internal_gw=192.168.50.1 \
  -v internal_cidr=192.168.50.0/24 \
  -v network_name=vboxnet0 \
  -v outbound_network_name=NatNetwork

...

如果要删除上面创建的Director,可以运行下面的命令

$ bosh delete-env bosh-deployment/bosh.yml \--state state.json \
  --vars-store ./creds.yml \
  -o bosh-deployment/virtualbox/cpi.yml \
  -o bosh-deployment/virtualbox/outbound-network.yml \
  -o bosh-deployment/bosh-lite.yml \
  -o bosh-deployment/jumpbox-user.yml \
  -v director_name=vbox \
  -v internal_ip=192.168.50.6 \
  -v internal_gw=192.168.50.1 \
  -v internal_cidr=192.168.50.0/24 \
  -v network_name=vboxnet0 \
  -v outbound_network_name=NatNetwork

...

给上面创建的Director设置别名

$ bosh alias-env vbox -e 192.168.50.6 --ca-cert <(bosh int ./creds.yml --path /director_ssl/ca)
Using environment '192.168.50.6' as anonymous userName      vbox
UUID      91478351-44a7-4bbb-b7b3-fd55ed1c19cd
Version   264.7.0 (00000000)
CPI       warden_cpi
Features  compiled_package_cache: disabled  config_server: disabled  dns: disabled  snapshots: disabled
User      (not logged in)  Succeeded

设置用户并登录

$ export BOSH_CLIENT=admin
$ export BOSH_CLIENT_SECRET=`bosh int ./creds.yml --path /admin_password`
$ bosh -e vbox env
Using environment '192.168.50.6' as client 'admin'Name      vbox
UUID      91478351-44a7-4bbb-b7b3-fd55ed1c19cd
Version   264.7.0 (00000000)
CPI       warden_cpi
Features  compiled_package_cache: disabled  config_server: disabled  dns: disabled  snapshots: disabled
User      admin  Succeeded

为了后面我们可以使用ssh登录虚拟机,我们还需要使用下面的命令建立路由

$ sudo ip route add   10.244.0.0/16 via 192.168.50.6
或
$ sudo route add -net 10.244.0.0/16 gw  192.168.50.6

部署Zookeeper

首先,更新一下云配置文件

$ bosh -e vbox update-cloud-config bosh-deployment/warden/cloud-config.yml
Using environment '192.168.50.6' as client 'admin'+ azs:
+ - name: z1
+ - name: z2
+ - name: z3+ vm_types:
+ - name: default+ compilation:
+   az: z1
+   network: default
+   reuse_compilation_vms: true
+   vm_type: default
+   workers: 5+ networks:
+ - name: default
+   subnets:
+   - azs:
+     - z1
+     - z2
+     - z3
+     dns:
+     - 8.8.8.8
+     gateway: 10.244.0.1
+     range: 10.244.0.0/24
+     reserved: []
+     static:
+     - 10.244.0.34
+   type: manual+ disk_types:
+ - disk_size: 1024
+   name: defaultContinue? [yN]: ySucceeded

更新虚拟机模板

首先使用 “bosh -e vbox stemcells” 查看一下,如下,可以看到目前没有任何虚拟机模板。

$ bosh -e vbox stemcells
Using environment '192.168.50.6' as client 'admin'Name  Version  OS  CPI  CID  (*) Currently deployed0 stemcellsSucceeded

更新虚拟机模板

$ bosh -e vbox upload-stemcell https://bosh.io/d/stemcells/bosh-warden-boshlite-ubuntu-trusty-go_agent?v=3468.17 --sha1 1dad6d85d6e132810439daba7ca05694cec208ab或者$ wget -c https://bosh.io/d/stemcells/bosh-warden-boshlite-ubuntu-trusty-go_agent?v=3468.17
$ bosh -e vbox us bosh-warden-boshlite-ubuntu-trusty-go_agent\?v\=3468.17

上面的命令会比较慢,更新再次查询虚拟机模板,可以看到已经下载了新的模板。

$ bosh -e vbox stemcells
Using environment '192.168.50.6' as client 'admin'Name                                         Version  OS             CPI  CID
bosh-warden-boshlite-ubuntu-trusty-go_agent  3468.17  ubuntu-trusty  -    b1e5983d-ab18-4e36-6877-1ebe5e8582d6  (*) Currently deployed1 stemcellsSucceeded

部署Zookeeper

$ wget -c https://raw.githubusercontent.com/cppforlife/zookeeper-release/master/manifests/zookeeper.yml
$ bosh -e vbox -d zookeeper deploy zookeeper.yml
...

运行上面部署命令后可以使用下面命令来查看服务状态

$ bosh -e vbox -d zookeeper instances
Using environment '192.168.50.6' as client 'admin'Task 23. DoneDeployment 'zookeeper'Instance                                          Process State  AZ  IPs
smoke-tests/bb0b0f87-5a59-489f-b3ca-1bdfd5a8167f  -              z1  10.244.0.7
zookeeper/40dc99e8-17f0-4c8d-bda1-670cf24490d5    running        z3  10.244.0.6
zookeeper/48cce3c4-b4c2-46bc-947d-da1b3f255561    running        z1  10.244.0.2
zookeeper/8926bddb-2986-44a6-b8e6-337fa2ac2c4f    running        z2  10.244.0.4
zookeeper/970b4886-ca4e-4f91-9a27-6d93e151ae0c    running        z1  10.244.0.3
zookeeper/eea5d292-1473-4849-956c-25e196de8e0a    running        z2  10.244.0.5  6 instancesSucceeded

查看虚拟机信息

$ bosh -e vbox vms
Using environment '192.168.50.6' as client 'admin'Task 24. DoneDeployment 'zookeeper'Instance                                        Process State  AZ  IPs         VM CID                                VM Type  Active
zookeeper/40dc99e8-17f0-4c8d-bda1-670cf24490d5  running        z3  10.244.0.6  dfe4e8f6-376c-4046-4929-58c9ae16a1c0  default  false
zookeeper/48cce3c4-b4c2-46bc-947d-da1b3f255561  running        z1  10.244.0.2  3ab39e75-9c65-415f-67b1-fb66982750b4  default  false
zookeeper/8926bddb-2986-44a6-b8e6-337fa2ac2c4f  running        z2  10.244.0.4  46f42f6f-2741-4c02-5330-fdf2e713e2ae  default  false
zookeeper/970b4886-ca4e-4f91-9a27-6d93e151ae0c  running        z1  10.244.0.3  c211408e-50c5-4daa-4aad-192d037489f2  default  false
zookeeper/eea5d292-1473-4849-956c-25e196de8e0a  running        z2  10.244.0.5  5339825b-ee47-42dd-402e-4b9da39e1b26  default  false  5 vmsSucceeded

如果要删除 Zookeeper Development,执行下面命令

$ bosh -e vbox -d zookeeper delete-deployment

SSH访问虚拟机

如果我们想使用ssh登录虚拟机,可以运行下面命令

$ bosh -e vbox -d zookeeper ssh <vm>比如:$ bosh -e vbox -d zookeeper ssh zookeeper/40dc99e8-17f0-4c8d-bda1-670cf24490d5

测试Zookeeper

$ bosh -e vbox -d zookeeper run-errand smoke-tests

在VirtualBox上使用Bosh部署Zookeeper集群相关推荐

  1. ZooKeeper :Docker Compose部署ZooKeeper集群

    用于Docker Compose部署ZooKeeper集群的yaml文件: version: '3' networks:zookeeper-networks:driver: bridgeservice ...

  2. Docker部署Zookeeper集群

    Docker部署Zookeeper集群 官方网站: http://zookeeper.apache.org/ http://zookeeper.apache.org/doc/r3.4.8/zookee ...

  3. 使用K8S部署zookeeper集群

    1.目的: 本次的目的是通过使用k8s搭建一个三节点的zookeeper集群,因为zookeeper集群需要用到存储,所以我们需要准备三个持久卷(Persistent Volume) 简称就是PV. ...

  4. 在VirtualBox上使用Bosh部署Cloud Foundry

    安装Bosh 安装 VirtualBox 略 $ VBoxManage --version 5.1.22r115126 安装Bosh $ wget -c https://s3.amazonaws.co ...

  5. k8s部署zookeeper集群 运行 ZooKeeper, 一个 CP 分布式系统

    本教程展示了在 Kubernetes 上使用 StatefulSets,PodDisruptionBudgets 和 PodAntiAffinity 特性运行 Apache Zookeeper. 准备 ...

  6. 【alibaba cloud】在macM1上用docker部署nacos集群

    前提环境 Docker Desktop 组件搭建 Nacos 环境部署(单机) 先从git上克隆nacos-docker的docker-compose的yml文件 git clone https:// ...

  7. 在单机(物理机)上用虚拟机部署kubernetes集群

    1.部署虚拟机 详细步骤可以查看我的这篇博客 2.部署k8s (1)准备 搭建K8S集群,准备三台2核4G的虚拟机(内存⾄少2G以上),操作系统选择⽤centos 7以上版本,先在三台机器上装好doc ...

  8. 如何在两个k8s上使用kubefate部署fate集群?

    本文作者系VMware中国研发中心研发工程师 马陈龙 目标 本文将介绍如何使用kubefate在两个kubernetes集群上部署互通的两个FATE.这两个FATE可以完成各种联邦学习的任务. 完成后 ...

  9. [Mac/Minikube] 使用K8s搭建ZooKeeper集群

    前言 相关的教程很多, 但是也很乱. 自己整理一篇. 使用过程中还遇到一些问题, 顺手记录一些. 创建PV 一般的PV都是创建在集群, 使用NFS共享管理的. 但是本次实验只有一台机器. 所以简单一点 ...

最新文章

  1. Java开发必会的Linux命令
  2. SQLite主键自增需要设置为integer PRIMARY KEY
  3. Google Chrome —— 使用 PowerShell 命令安装 Google Chrome 浏览器
  4. Python处理pdf文件库 - PyPDF2详解
  5. JavaScrpt --- es5实现ES6的Number扩展(部分)
  6. IDEA MAVEN Project 显示问题
  7. 2019 最全支付宝高级Java现场面试37题
  8. 如果谁和飞鸽传书讨论这两个问题
  9. 复旦nlp实验室 nlp-beginner 任务二:基于深度学习的文本分类
  10. 超全的 Python 可视化教程,收藏
  11. 图像测试环境软件,Digimizer(图像测量分析软件)
  12. ALFA缺陷检测软件外观检测自学习人工智能软件
  13. php网站制作(6)-php 学习摘记
  14. 双搜----用两只眼睛看世界
  15. JS 中国标准时间转换yy-mm-dd HH:mm:ss
  16. 记录12款MacBook Pro MC946,A1398拆主板换新喇叭的过程
  17. 基于51的交通灯Proteus仿真设计
  18. tableau连接不上oracle,Oracle
  19. dsa数字签名c语言编程,实验三DSA数字签名算法
  20. AutoCAD 使用平铺视口

热门文章

  1. vue : 无法加载文件(因为在此系统上禁止运行脚本)
  2. 中鑫优配惯性回踩将是低吸机会
  3. 低代码分析盘点:银行业低代码应用需要规避两大误区
  4. 免费的录频软件WIN10的WIN+G
  5. sap basis 常用事务代码
  6. Centos7 配置 Vmess
  7. 自己整理_银行核心系统相关技术知识
  8. UR3机器人与EFG-20电动夹爪的连接
  9. DL之RNN:人工智能为你写小说——基于TF利用RNN算法训练数据集(William Shakespeare的《Coriolanus》)替代你写英语小说短文、训练测试过程全记录
  10. 第四章 决策树和ID3 python3.5.1代码理解