openstack用bosh部署cloudfoundry(五)---用bosh部署cloudfoundry

利用bosh部署cloudfoundry的过程和部署bosh的过程基本一样,准备三样东西,stemcell-用来生成镜像并创建虚拟机以及编译release,release里面包含所有要部署的组件的包,清单文件的作用就是操作的步骤及配置。


下面是部署cloudfoundry的具体步骤:

1. target到bosh的director

root@bosh-cli:~/src/cloudfoundry/cf-release# bosh target https://10.10.110.118:25555
root@bosh-cli:~/src/cloudfoundry/cf-release# bosh login
用户名和密码都是admin



2. 上传stemcell

root@bosh-cli:~/bosh-workspace/stemcells# bosh upload stemcell bosh-stemcell-2427-openstack-kvm-ubuntu.tgz
上传的过程和之前的一样的。


3. 上传release

root@bosh-cli:~/src/cloudfoundry/cf-release# bosh upload release bosh-release170.tgz


4. 验证之前已经上传的stemcell和release

root@bosh-cli:~# bosh releases  
  
+------------+------------+-------------+  
| Name       | Versions   | Commit Hash |  
+------------+------------+-------------+  
| cf-release | 170        | 27784f08    |  
+------------+------------+-------------+  
(*) Currently deployed  
(+) Uncommitted changes  
  
Releases total: 1 

root@bosh-cli:~# bosh stemcells  
  
+---------------------------+---------+--------------------------------------+  
| Name                      | Version | CID                                  |  
+---------------------------+---------+--------------------------------------+  
| bosh-openstack-kvm-ubuntu | 2427    | 316501e1-482d-472d-9fd9-b71a7b1223ee |  
+---------------------------+---------+--------------------------------------+  
  
Stemcells total: 1


5. 创建cloudfoundry的清单文件

root@bosh-cli:~/src/cloudfoundry/cf-release# cd ~/bosh-workspace/deployments/  
root@bosh-cli:~/bosh-workspace/deployments# vi cf-170.yml 

cf-170.yml的内容为(标为change的是需要修改的):

<%  
director_uuid = "f629b16b-c190-4cdc-a0b8-e39550ddb061"  #change uuid为bosh director的uuid,用bosh status来查看
static_ip = "10.10.110.191"                             #分配给haproxy的浮动ip
root_domain ="vsc.com"<span style="white-space:pre">					</span>#域名,可随便选择,但不要是已经存在的域名
deployment_name = 'cf'  
cf_release = '170'  
protocol = 'http'  
common_password = 'c1oudc0w'  <span style="white-space:pre">				</span>#密码也可以随便设,但密码里面千万不要带@符号,否则部署时会出错
%>
  
---  
name: <%= deployment_name %>  
director_uuid: <%= director_uuid %>  
  
releases:  
 - name: cf  
   version: <%= cf_release %>  
  
compilation:  
  workers: 3  
  network: default  
  reuse_compilation_vms: true  
  cloud_properties:  
    instance_type: m1.medium 
  
update:  
  canaries: 0 
  canary_watch_time: 30000-600000  
  update_watch_time: 30000-600000  
  max_in_flight: 32
  serial: false  
    
  
networks:  
  - name: default  
    type: dynamic  
    cloud_properties:  
      security_groups:  
        - default  
        
  
  - name: external  
    type: dynamic  
    cloud_properties:  
      security_groups:  
        - default  
      
  
  - name: floating  
    type: vip  
    cloud_properties: {}  
  
resource_pools:  
  - name: common  
    network: default  
    size: 14  
    stemcell:  
      name: bosh-openstack-kvm-ubuntu  
      version: 2427  
    cloud_properties:  
      instance_type: m1.micro  
  
  - name: large  
    network: default  
    size: 2  
    stemcell:  
      name: bosh-openstack-kvm-ubuntu 
      version: 2427  <span style="white-space:pre">					</span>#change  就是刚才上传的stemcell
    cloud_properties:  
      instance_type: v1.small  
  
jobs:  
  - name: nats  
    templates:  
      - name: nats  
      - name: nats_stream_forwarder  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: syslog_aggregator  
    templates:  
      - name: syslog_aggregator  
    instances: 1  
    resource_pool: common  
    persistent_disk: 51200  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: nfs_server  
    templates:  
      - name: debian_nfs_server  
    instances: 1  
    resource_pool: common  
    persistent_disk: 51200  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: postgres  
    templates:  
      - name: postgres  
    instances: 1  
    resource_pool: common  
    persistent_disk: 51200  
    networks:  
      - name: default  
        default: [dns, gateway]  
    properties:  
      db: databases  
  
  - name: uaa  
    templates:  
      - name: uaa  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: loggregator  
    templates:  
      - name: loggregator  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: trafficcontroller  
    templates:  
      - name: loggregator_trafficcontroller  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: cloud_controller  
    templates:  
      - name: cloud_controller_ng  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
    properties:  
      db: ccdb  
  
  - name: cloud_controller_worker  
    templates:  
      - name: cloud_controller_worker  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
    properties:  
      db: ccdb  
  
  - name: clock_global  
    templates:  
      - name: cloud_controller_clock  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
    properties:  
      db: ccdb  
  
  - name: etcd  
    templates:  
      - name: etcd  
    instances: 1  
    resource_pool: common  
    persistent_disk: 10024  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: health_manager  
    templates:  
      - name: hm9000  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: dea  
    templates:  
      - name: dea_logging_agent  
      - name: dea_next  
    instances: 2  
    resource_pool: large  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: router  
    templates:  
      - name: gorouter  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: default  
        default: [dns, gateway]  
  
  - name: haproxy  
    templates:  
      - name: haproxy  
    instances: 1  
    resource_pool: common  
    networks:  
      - name: external  
        default: [dns, gateway]  
      - name: floating  
        static_ips:  
          - <%= static_ip %>  
    properties:  
      networks:  
        apps: external  
  
properties:  
  domain: <%= root_domain %>  
  system_domain: <%= root_domain %>  
  system_domain_organization: 'admin'  
  app_domains:  
    - <%= root_domain %>  
  
  haproxy: {}  
  
  networks:  
    apps: default  
  
  nats:  
    user: nats  
    password: <%= common_password %>  
    address: 0.nats.default.<%= deployment_name %>.bosh 
    port: 4222  
    machines:  
      - 0.nats.default.<%= deployment_name %>.bosh  
  
  syslog_aggregator:  
    address: 0.syslog-aggregator.default.<%= deployment_name %>.bosh  
    port: 54321  
  
  nfs_server:  
    address: 0.nfs-server.default.<%= deployment_name %>.bosh
    network: "*.<%= deployment_name %>.bosh" 
    #allow_from_entries:
    #  - 10.0.0.0/24 
    idmapd_domain: vsc.com 
  
  debian_nfs_server:  
    no_root_squash: true  
  
  loggregator_endpoint:  
    shared_secret: <%= common_password %>  
    host: 0.trafficcontroller.default.<%= deployment_name %>.bosh  
  
  loggregator:  
    servers:  
      zone:  
        -  0.loggregator.default.<%= deployment_name %>.bosh  
  
  traffic_controller:  
    zone: 'zone'  
  
  logger_endpoint:  
    use_ssl: <%= protocol == 'https' %>  
    port: 80  
  
  ssl:  
    skip_cert_verify: true  
  
  router:  
    endpoint_timeout: 60  
    status:  
      port: 8080  
      user: gorouter  
      password: <%= common_password %>  
    servers:  
      z1:  
        - 0.router.default.<%= deployment_name %>.bosh  
      z2: [] 
         
  
  etcd:  
    machines:  
      - 0.etcd.default.<%= deployment_name %>.bosh  
  
  dea: &dea  
    disk_mb: 102400 
    disk_overcommit_factor: 2  
    memory_mb: 15000  
    memory_overcommit_factor: 3  
    directory_server_protocol: <%= protocol %>  
    mtu: 1460  
    deny_networks:  
      - 169.254.0.0/16 # Google Metadata endpoint  
  
  dea_next: *dea  
  
  disk_quota_enabled: false  
  
  dea_logging_agent:  
    status:  
      user: admin  
      password: <%= common_password %>  
  
  databases: &databases  
    db_scheme: postgres  
    address: 0.postgres.default.<%= deployment_name %>.bosh  
    port: 5524  
    roles:  
      - tag: admin  
        name: ccadmin  
        password: <%= common_password %>  
      - tag: admin  
        name: uaaadmin  
        password: <%= common_password %>  
    databases:  
      - tag: cc  
        name: ccdb  
        citext: true  
      - tag: uaa  
        name: uaadb  
        citext: true  
  
  ccdb: &ccdb  
    db_scheme: postgres  
    address: 0.postgres.default.<%= deployment_name %>.bosh  
    port: 5524  
    roles:  
      - tag: admin  
        name: ccadmin  
        password: <%= common_password %>  
    databases:  
      - tag: cc  
        name: ccdb  
        citext: true  
  
  ccdb_ng: *ccdb  
  
  uaadb:  
    db_scheme: postgresql  
    address: 0.postgres.default.<%= deployment_name %>.bosh  
    port: 5524  
    roles:  
      - tag: admin  
        name: uaaadmin  
        password: <%= common_password %>  
    databases:  
      - tag: uaa  
        name: uaadb  
        citext: true  
  
  cc: &cc  
    srv_api_uri: <%= protocol %>://api.<%= root_domain %>  
    jobs:  
      local:  
        number_of_workers: 2  
      generic:  
        number_of_workers: 2  
      global:  
        timeout_in_seconds: 14400  
      app_bits_packer:  
        timeout_in_seconds: null  
      app_events_cleanup:  
        timeout_in_seconds: null  
      app_usage_events_cleanup:  
        timeout_in_seconds: null  
      blobstore_delete:  
        timeout_in_seconds: null  
      blobstore_upload:  
        timeout_in_seconds: null  
      droplet_deletion:  
        timeout_in_seconds: null  
      droplet_upload:  
        timeout_in_seconds: null  
      model_deletion:  
        timeout_in_seconds: null  
    bulk_api_password: <%= common_password %>  
    staging_upload_user: upload  
    staging_upload_password: <%= common_password %>  
    quota_definitions:  
      default:  
        memory_limit: 10240  
        total_services: 100  
        non_basic_services_allowed: true  
        total_routes: 1000  
        trial_db_allowed: true  
    resource_pool:  
      resource_directory_key: cloudfoundry-resources  
      fog_connection:  
        provider: Local  
        local_root: /var/vcap/nfs/shared  
    packages:  
      app_package_directory_key: cloudfoundry-packages  
      fog_connection:  
        provider: Local  
        local_root: /var/vcap/nfs/shared  
    droplets:  
      droplet_directory_key: cloudfoundry-droplets  
      fog_connection:  
        provider: Local  
        local_root: /var/vcap/nfs/shared  
    buildpacks:  
      buildpack_directory_key: cloudfoundry-buildpacks  
      fog_connection:  
        provider: Local  
        local_root: /var/vcap/nfs/shared  
    install_buildpacks:  
      - name: java_buildpack  
        package: buildpack_java  
      - name: ruby_buildpack  
        package: buildpack_ruby  
      - name: nodejs_buildpack  
        package: buildpack_nodejs  
      - name: go_buildpack  
        package: buildpack_go  
    db_encryption_key: <%= common_password %>  
    hm9000_noop: false  
    diego: false  
    newrelic:  
      license_key: null  
      environment_name: <%= deployment_name %>  
       
  ccng: *cc  
  
  login:  
    enabled: false  
          
  uaa:  
    url: <%= protocol %>://uaa.<%= root_domain %>
    no_ssl: <%= protocol == 'http' %>
    cc:
      client_secret: <%= common_password %>
    admin:
      client_secret: <%= common_password %>
    batch:
      username: batch
      password: <%= common_password %>
    clients:
      cf:
        override: true
        authorized-grant-types: password,implicit,refresh_token
        authorities: uaa.none
        scope: cloud_controller.read,cloud_controller.write,openid,password.write,cloud_controller.admin,scim.read,scim.write
        access-token-validity: 7200
        refresh-token-validity: 1209600
      admin:   
        secret: <%= common_password %>   
        authorized-grant-types: client_credentials   
        authorities: clients.read,clients.write,clients.secret,password.write,scim.read,uaa.admin
    scim:
      users:
      - admin|<%= common_password %>|scim.write,scim.read,openid,cloud_controller.admin,uaa.admin,password.write
      - services|<%= common_password %>|scim.write,scim.read,openid,cloud_controller.admin
    jwt:  
      signing_key: |  
        -----BEGIN RSA PRIVATE KEY----- 
        MIICXAIBAAKBgQDHFr+KICms+tuT1OXJwhCUmR2dKVy7psa8xzElSyzqx7oJyfJ1  
        JZyOzToj9T5SfTIq396agbHJWVfYphNahvZ/7uMXqHxf+ZH9BL1gk9Y6kCnbM5R6  
        0gfwjyW1/dQPjOzn9N394zd2FJoFHwdq9Qs0wBugspULZVNRxq7veq/fzwIDAQAB  
        AoGBAJ8dRTQFhIllbHx4GLbpTQsWXJ6w4hZvskJKCLM/o8R4n+0W45pQ1xEiYKdA  
        Z/DRcnjltylRImBD8XuLL8iYOQSZXNMb1h3g5/UGbUXLmCgQLOUUlnYt34QOQm+0  
        KvUqfMSFBbKMsYBAoQmNdTHBaz3dZa8ON9hh/f5TT8u0OWNRAkEA5opzsIXv+52J  
        duc1VGyX3SwlxiE2dStW8wZqGiuLH142n6MKnkLU4ctNLiclw6BZePXFZYIK+AkE  
        xQ+k16je5QJBAN0TIKMPWIbbHVr5rkdUqOyezlFFWYOwnMmw/BKa1d3zp54VP/P8  
        +5aQ2d4sMoKEOfdWH7UqMe3FszfYFvSu5KMCQFMYeFaaEEP7Jn8rGzfQ5HQd44ek  
        lQJqmq6CE2BXbY/i34FuvPcKU70HEEygY6Y9d8J3o6zQ0K9SYNu+pcXt4lkCQA3h  
        jJQQe5uEGJTExqed7jllQ0khFJzLMx0K6tj0NeeIzAaGCQz13oo2sCdeGRHO4aDh  
        HH6Qlq/6UOV5wP8+GAcCQFgRCcB+hrje8hfEEefHcFpyKH+5g1Eu1k0mLrxK2zd+  
        4SlotYRHgPCEubokb2S1zfZDWIXW3HmggnGgM949TlY= 
        -----END RSA PRIVATE KEY-----  
      verification_key: |  
        -----BEGIN PUBLIC KEY-----  
        MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHFr+KICms+tuT1OXJwhCUmR2d  
        KVy7psa8xzElSyzqx7oJyfJ1JZyOzToj9T5SfTIq396agbHJWVfYphNahvZ/7uMX  
        qHxf+ZH9BL1gk9Y6kCnbM5R60gfwjyW1/dQPjOzn9N394zd2FJoFHwdq9Qs0wBug  
        spULZVNRxq7veq/fzwIDAQAB
        -----END PUBLIC KEY-----

说明:上面的signing_key和verification_key的内容不用改变


6. 部署cf

root@bosh-cli:~/bosh-workspace/deployments# bosh deployment cf-170.yml
root@bosh-cli:~/bosh-workspace/deployments# bosh deploy 


如果要删除部署的话,命令是:

root@bosh-cli:~/bosh-workspace/deployments# bosh delete deployment cf(cf是部署名,就是清单文件中的name属性)

6. 验证部署是否成功

root@bosh-cli:~/bosh-workspace/deployments# bosh vms  
Deployment `cf'  

如果所有虚拟机都正常运行说明部署成功。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值