使用bosh cpi(director)自动创建虚机并配置成zookeeper集群
有关bosh cpi部署见另外一篇文章
https://blog.csdn.net/weixin_40610687/article/details/116377788
登录到自己部署bosh director的client容器
1、配置cloud-config
[root@58b99dfbfc8a bosh-1]# mkdir workspace
[root@58b99dfbfc8a bosh-1]# cd workspace
[root@58b99dfbfc8a workspace]# vi cloud-config.yml ---添加下列内容,根据实际情况改写
azs:
- name: z1
cloud_properties:
datacenters:
- clusters: [ruichang: {}]
vm_types:
- name: default
cloud_properties:
cpu: 2
ram: 1024
disk: 3240
- name: large
cloud_properties:
cpu: 2
ram: 4096
disk: 30_240
disk_types:
- name: default
disk_size: 3000
- name: large
disk_size: 50_000
networks:
- name: default
type: manual
subnets:
- range: 192.168.0.0/24
gateway: 192.168.0.1
az: z1
dns: [8.8.8.8]
cloud_properties:
name: portgoup1
- range: 192.168.2.0/24
gateway: 192.168.2.1
az: z1
dns: [8.8.8.8]
cloud_properties:
name: tempportgroup
compilation:
workers: 2
reuse_compilation_vms: true
az: z1
vm_type: large
network: default
根据上面的yml 创建cloud-config配置
[root@58b99dfbfc8a workspace]#bosh -e bosh-1 update-cloud-config cloud-config.yml
2、上传stemcell,我这里选centos7
bosh upload-stemcell --sha1 7ac6ccda86b7b4bbfa7baf11901a065533d7ae8a https://bosh.io/d/stemcells/bosh-vsphere-esxi-centos-7-go_agent?v=3763.61 -e bosh-1
3、编写创建vm的yml文件
[root@58b99dfbfc8a workspace]# vi manifest.yml
---
name: zookeeper
releases:
- name: zookeeper
version: 0.0.5
url: https://bosh.io/d/github.com/cppforlife/zookeeper-release?v=0.0.5
sha1: 65a07b7526f108b0863d76aada7fc29e2c9e2095
stemcells:
- alias: default
os: centos-7
version: latest
update:
canaries: 2
max_in_flight: 1
canary_watch_time: 5000-60000
update_watch_time: 5000-60000
instance_groups:
- name: zookeeper
azs: [z1]
instances: 3
jobs:
- name: zookeeper
release: zookeeper
properties: {}
vm_type: default
stemcell: default
persistent_disk: 10240
networks:
- name: default
- name: smoke-tests
azs: [z1]
lifecycle: errand
instances: 1
jobs:
- name: smoke-tests
release: zookeeper
properties: {}
vm_type: default
stemcell: default
networks:
- name: default
4、执行yml自动创建vm,上面示例为自动创建3个vm并配置成集群
[root@58b99dfbfc8a workspace]# bosh -e bosh-1 -d zookeeper deploy manifest.yml
等待部署完成
5、部署完成后检查vm的状态
[root@58b99dfbfc8a bosh-1]# bosh -e bosh-1 vms
Using environment '192.168.0.162' as client 'admin'
Task 28. Done
Deployment 'zookeeper'
Instance Process State AZ IPs VM CID VM Type Active Stemcell
zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7 running z1 192.168.0.5 vm-bf00fbb2-03e4-4969-960a-80d7236ef9c3 default true bosh-vsphere-esxi-centos-7-go_agent/3763.61
zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede running z1 192.168.0.6 vm-5b96a254-242c-4e0c-996f-7357d135da3a default true bosh-vsphere-esxi-centos-7-go_agent/3763.61
zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4 running z1 192.168.0.7 vm-e8531bfc-f3a7-4bce-b04f-ecb50cd544b1 default true bosh-vsphere-esxi-centos-7-go_agent/3763.61
3 vms
Succeeded
登录vcenter 可以查看到对应的vm已自动创建
6、查看zookeeper集群状态,这里的查看的名称与上面的查询的instance名称一致
查看zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7
[root@58b99dfbfc8a bosh-1]# bosh -e bosh-1 -d zookeeper ssh zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7
Using environment '192.168.0.162' as client 'admin'
Using deployment 'zookeeper'
Task 31. Done
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7:~$ /var/vcap/jobs/zookeeper/bin/ctl status
ZooKeeper JMX enabled by default
Using config: /var/vcap/jobs/zookeeper/config/zoo.cfg
Mode: follower
zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7:~$ cat /var/vcap/jobs/zookeeper/config/zoo.cfg
server.4=192.168.0.5:2888:3888
server.6=192.168.0.6:2888:3888
server.5=192.168.0.7:2888:3888
autopurge.purgeInterval=24
autopurge.snapRetainCount=3
clientPort=2181
clientPortAddress=0.0.0.0
cnxTimeout=5
dataDir=/var/vcap/store/zookeeper
dataLogDir=/var/vcap/sys/log/zookeeper
electionAlg=3
fsync.warningthresholdms=1000
globalOutstandingLimit=1000
initLimit=5
leaderServes=yes
maxClientCnxns=60
maxSessionTimeout=40000
minSessionTimeout=4000
preAllocSize=65536
snapCount=100000
syncEnabled=true
syncLimit=2
tickTime=2000
zookeeper/afafecb5-f681-4101-ba1e-02725ed73ea7:~$
查看zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede
[root@58b99dfbfc8a bosh-1]# bosh -e bosh-1 -d zookeeper ssh zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede
Using environment '192.168.0.162' as client 'admin'
Using deployment 'zookeeper'
Task 33. Done
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede:~$ /var/vcap/jobs/zookeeper/bin/ctl status
ZooKeeper JMX enabled by default
Using config: /var/vcap/jobs/zookeeper/config/zoo.cfg
Mode: leader
zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede:~$ cat /var/vcap/jobs/zookeeper/config/zoo.cfg
server.4=192.168.0.5:2888:3888
server.6=192.168.0.6:2888:3888
server.5=192.168.0.7:2888:3888
autopurge.purgeInterval=24
autopurge.snapRetainCount=3
clientPort=2181
clientPortAddress=0.0.0.0
cnxTimeout=5
dataDir=/var/vcap/store/zookeeper
dataLogDir=/var/vcap/sys/log/zookeeper
electionAlg=3
fsync.warningthresholdms=1000
globalOutstandingLimit=1000
initLimit=5
leaderServes=yes
maxClientCnxns=60
maxSessionTimeout=40000
minSessionTimeout=4000
preAllocSize=65536
snapCount=100000
syncEnabled=true
syncLimit=2
tickTime=2000
zookeeper/c1567bd8-c8a6-4c27-8707-f62294dfcede:~$
查看zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4
[root@58b99dfbfc8a bosh-1]# bosh -e bosh-1 -d zookeeper ssh zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4
Using environment '192.168.0.162' as client 'admin'
Using deployment 'zookeeper'
Task 35. Done
Unauthorized use is strictly prohibited. All access and activity
is subject to logging and monitoring.
zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4:~$ /var/vcap/jobs/zookeeper/bin/ctl status
ZooKeeper JMX enabled by default
Using config: /var/vcap/jobs/zookeeper/config/zoo.cfg
Mode: follower
zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4:~$ cat /var/vcap/jobs/zookeeper/config/zoo.cfg
server.4=192.168.0.5:2888:3888
server.6=192.168.0.6:2888:3888
server.5=192.168.0.7:2888:3888
autopurge.purgeInterval=24
autopurge.snapRetainCount=3
clientPort=2181
clientPortAddress=0.0.0.0
cnxTimeout=5
dataDir=/var/vcap/store/zookeeper
dataLogDir=/var/vcap/sys/log/zookeeper
electionAlg=3
fsync.warningthresholdms=1000
globalOutstandingLimit=1000
initLimit=5
leaderServes=yes
maxClientCnxns=60
maxSessionTimeout=40000
minSessionTimeout=4000
preAllocSize=65536
snapCount=100000
syncEnabled=true
syncLimit=2
tickTime=2000
zookeeper/dd0b0bf3-d732-4681-9246-40de32d469e4:~$