自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

配置和使用Pivotal Cloud Foundry中的HAPorxy詳解

云計算
Pivotal使用HAProxy作為其訪問入口,當(dāng)然是允許使用其他負(fù)載均衡軟件或硬件進(jìn)行替換的。不過,基于怕麻煩和強迫癥,個人還是用了HAProxy到最終的生產(chǎn)環(huán)境。為了滿足特定的應(yīng)用需求和可靠性需求,對負(fù)載均衡這一層做了一定的配置,本文通過四個案例共享這些經(jīng)驗。

Pivotal使用HAProxy作為其訪問入口,當(dāng)然是允許使用其他負(fù)載均衡軟件或硬件進(jìn)行替換的。不過,基于怕麻煩和強迫癥,個人還是用了HAProxy到最終的生產(chǎn)環(huán)境。為了滿足特定的應(yīng)用需求和可靠性需求,對負(fù)載均衡這一層做了一定的配置,本文通過四個案例共享這些經(jīng)驗。

如何配置和使用Pivotal Cloud Foundry里的HAPorxy

為不同應(yīng)用分配不同的HAProxy

Pivotal Cloud Foundry的配置界面中,HAProxy允許配置多個IP(同時需要在資源尺寸頁配置相同個數(shù)的HAProxy虛擬機),這樣一個CF就擁有了多個入口??梢酝ㄟ^管理員的人腦,對運行在這套CF上不同應(yīng)用按照負(fù)載和安全的考量,分配到不同的HAProxy上。具體實例如下:

假定為PCF配置了兩個HAProxy(10.20.30.40和10.20.30.41),在DNS上,默認(rèn)將*.pcf.mydomain.com子域分配給了這個PCF,指向了10.20.30.40。此時,如果應(yīng)用app1域名為app1.pcf.mydomain.com,則該應(yīng)用的訪問將通過 10.20.30.40進(jìn)入PCF。

這時如果這個應(yīng)用app1需要使用域名app1.mydomain.com,并且負(fù)載很大和/或可靠性要求高,則可以在DNS上將app1.mydomain.com指向10.20.30.41,然后cf create-domain org1 mydomain.com創(chuàng)建域名(如果這個域名整個CF都要用,那就用cf create-shared-domain),然后用cf map-route app1 mydomain.com -n app1為這個應(yīng)用增加一個新的域名。

此時,通過app1.mydomain.com和app1.pcf.mydomain.com都可以訪問這一應(yīng)用,但是前者通過10.20.30.41進(jìn)入PCF,后者通過10.20.30.40進(jìn)入PCF。

為同一HAProxy上的不同域名配置SSL證書并自動訪問https

PCF可以生成個自簽名的域名給分配給自己的子域,但實際生產(chǎn)中使用證書肯定不會是自簽名的,而且多數(shù)也不會是整個子域的域名,而是單獨的域名,還是針對前文的實例,增加如下需求:另一個應(yīng)用app2與app1屬于同一系統(tǒng),需要使用域名 app2.mydomain.com,app1.mydomain.com和app2.mydomain.com均有各自的SSL證書,同時二者均要求禁止http訪問。

此時可以將DNS上app2.mydomain.com指向10.20.30.41,然后登陸10.20.30.41這個HAProxy的OS(用戶名為vcap,密碼可以在Pivotal Operation Manager的界面上找到),進(jìn)行HAProxy配置。

對于自動跳轉(zhuǎn)https的需求,可以通過修改/var/vcap/jobs/haproxy/config/haproxy.config里的http-in完成。

  1. frontend http-in 
  2.     mode http 
  3.     bind :80 
  4.     option httplog 
  5.     option forwardfor 
  6.     reqadd X-Forwarded-Proto:\ http 
  7.     acl is_app1_mydomain_com hdr(host) -i app1.mydomain.com 
  8.     redirect location https://app1.mydomain.com:443 if is_app1_mydomain_co 
  9.     acl is_app2_mydomain_com hdr(host) -i app2.mydomain.com 
  10.     redirect location https://app2.mydomain.com:443 if is_app2_mydomain_com 
  11.     default_backend http-routers 

對于多個證書的需求,可以通過修改/var/vcap/jobs/haproxy/config/haproxy.config里的https-in完成。將需要的證書上傳到這臺HAProxy,并在配置文件中添加即可,證書文件支持的格式請參見/var/vcap/jobs/haproxy/config/cert.pem。

  1. frontend https-in 
  2.     mode http 
  3.     bind :443 ssl crt /var/vcap/jobs/haproxy/config/cert.pem crt /var/vcap/jobs/haproxy/config/app1.mydomain.com.pem crt /var/vcap/jobs/haproxy/config/app2.mydomain.com.pem 
  4.     option httplog 
  5.     option forwardfor 
  6.     option http-server-close 
  7.     reqadd X-Forwarded-Proto:\ https 
  8.     default_backend http-routers 

#p#

多層負(fù)載均衡滿足安全需求和業(yè)務(wù)需求

企業(yè)的安全及防火墻策略對PCF來說是個災(zāi)難,當(dāng)然現(xiàn)在的版本已經(jīng)有Availability Zone來覆蓋這一需求,但是下面這種需求還是難以實現(xiàn):PCF部署在生產(chǎn)網(wǎng)絡(luò),但是需要被互聯(lián)網(wǎng)訪問,安全策略僅允許DMZ網(wǎng)絡(luò)對外提供服務(wù),因此需要做個脫褲子放屁的事兒是PCF可以從internet訪問。還以上例為基礎(chǔ),app1和app2均需要互聯(lián)網(wǎng)訪問(將定DMZ網(wǎng)絡(luò)中存在可用的負(fù)載均衡設(shè)備50.60.70.100和50.60.70.101):

首先獲取一個DMZ網(wǎng)段的IP,如50.60.70.80,開通負(fù)載均衡設(shè)備50.60.70.100和50.60.70.101訪問PCF的對外IP的10.20.30.41的80和443端口,將10.20.30.41的80和443端口在DMZ負(fù)載均衡設(shè)備上負(fù)載均衡為50.60.70.80的80和443,將50.60.70.80的80和443端口NAT成公網(wǎng)的80和443,并返回需要的域名(比如app1.bjsdns.mydomain.com、app2.bjsdns.mydomain.com等),在DNS中把app1.bjsdns.mydomain.com、app2.bjsdns.mydomain.com做別名成app1.mydomain.com和app2.mydomain.com,就大功告成了。

讓CF與普通Tomcat應(yīng)用服務(wù)一塊工作

對于企業(yè)內(nèi)部的私有PaaS來講,PCF中最讓人擔(dān)心的技術(shù)就是PCF的運行環(huán)境架構(gòu)(包含負(fù)載均衡和自動彈性)。下面的方案可以屏蔽使用互聯(lián)網(wǎng)技術(shù)帶來的新技術(shù)不確定性風(fēng)險,使私有PaaS為實時業(yè)務(wù)系統(tǒng)提供服務(wù)成為可能。這個方案通過將應(yīng)用服務(wù)負(fù)載均衡到IaaS資源,確保在PCF的整個運行環(huán)境框架出現(xiàn)問題時,可做到用戶無感知的故障恢復(fù)。具體細(xì)節(jié)如下:

1、在PCF中(比如分配10個應(yīng)用實例,假定應(yīng)用名稱為app1)和使用IaaS虛擬機單獨部署的多個Tomcat節(jié)點(比如2個)中部署相同應(yīng)用代碼。

2、在PaaS中使用如下命令創(chuàng)建域(比如mydomain.com),創(chuàng)建應(yīng)用域名(app1.mydomain.com),綁定應(yīng)用域名(app1.mydomain.com綁定到應(yīng)用app1):

  1. cf create-domain org1 mydomain.com 
  2. cf map-route app1 mydomain.com -n app1 

3、在負(fù)載均衡設(shè)備中配置virtual service(比如50.60.70.80),其對應(yīng)的real service為PaaS環(huán)境的入口IP(比如10.20.30.41)和其他使用IaaS虛擬機單獨部署的多個Tomcat節(jié)點,單獨Tomcat節(jié)點的權(quán)重為1,PaaS入口IP的權(quán)重為其為此應(yīng)用分配的應(yīng)用實例個數(shù)(10)。

4、在DNS中將應(yīng)用域名(app1.mydomain.com)配置為負(fù)載均衡設(shè)備上的virtual service IP(50.60.70.80)。

5、當(dāng)用戶訪問app1.mydomain.com,DNS將解析到負(fù)載均衡設(shè)備,負(fù)載均衡設(shè)備會根據(jù)策略和權(quán)重將請求負(fù)載均衡到單獨的Tomcat或PaaS入口IP上,如果到了PaaS入口IP上,PaaS將根據(jù)客戶端訪問的域名在此進(jìn)行解析,并根據(jù)策略將請求route到應(yīng)用app1的10個應(yīng)用實例上。

博文出處:http://blog.csdn.net/cloudguru/article/details/45054165

責(zé)任編輯:Ophira 來源: 云計算實務(wù)博客
相關(guān)推薦

2013-04-26 17:38:52

大數(shù)據(jù)全球技術(shù)峰會

2011-04-22 10:13:42

Cloud FoundAzure

2012-07-19 09:13:40

VMware云計算Cloud Found

2012-03-27 11:40:55

vmwareCloud Found

2012-05-14 10:39:19

2012-12-07 10:00:25

SpringOneCloud FoundVMware

2012-05-14 10:49:25

Cloud Found

2014-03-07 09:26:46

PaaSCloud Found

2015-04-24 09:33:11

Cloud Found組件分析PaaS

2015-12-16 11:11:52

Cloud FoundSpring云計算

2015-06-02 11:42:00

Cloud FoundAzure

2018-10-20 16:19:45

Cloud FoundKubernetes云計算

2011-04-15 11:07:20

VMwarePaaS平臺Cloud Found

2012-08-02 09:15:16

PAASOpenShiftCloud Found

2012-11-29 10:37:39

VMwarePaaSCloud Found

2012-03-27 11:49:41

vmwareCloud Found

2012-04-19 11:14:48

PaaSCloud FoundVMware

2015-03-30 15:15:00

CloudFoundrPaaS開源

2015-06-09 10:36:13

Cloud FoundAzurePaaS

2020-11-27 10:29:02

云計算
點贊
收藏

51CTO技術(shù)棧公眾號