traefik是一款開(kāi)源的反向代理與負(fù)載均衡工具。它大的優(yōu)點(diǎn)是能夠與常見(jiàn)的微服務(wù)系統(tǒng)直接整合,可以實(shí)現(xiàn)自動(dòng)化動(dòng)態(tài)配置。目前支持Docker, Swarm, Mesos/Marathon, Mesos, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API等等后端模型。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、瓊海ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的瓊海網(wǎng)站制作公司etcd 是一個(gè)分布式鍵值對(duì)存儲(chǔ)系統(tǒng),由coreos 開(kāi)發(fā),內(nèi)部采用 raft 協(xié)議作為一致性算法,用于可靠、快速地保存關(guān)鍵數(shù)據(jù),并提供訪問(wèn)。通過(guò)分布式鎖、leader選舉和寫屏障(write barriers),來(lái)實(shí)現(xiàn)可靠的分布式協(xié)作。etcd集群是為高可用、持久化數(shù)據(jù)存儲(chǔ)和檢索而準(zhǔn)備。
1:Traefik 作為web服務(wù),使用etd庫(kù)作為配置統(tǒng)一存儲(chǔ)空間,實(shí)現(xiàn)traefik服務(wù)可以方便的增刪節(jié)點(diǎn),解耦traefik服務(wù)啟動(dòng)后服務(wù)配置的問(wèn)題。
2:Traefik 使用http驗(yàn)證方式申請(qǐng)ssl證書(shū),即每配置一個(gè)域名讓traefik 幫我們自動(dòng)申請(qǐng)一個(gè)ssl證書(shū).
1:安裝 traefik 1.7+
2:安裝 etcd
3:安裝 Etcdkeeper
4:配置 traefik 對(duì)接 etcd 庫(kù)
使用AWS云平臺(tái)測(cè)試:
云主機(jī)一臺(tái)、配置公網(wǎng)IP地址,開(kāi)放80 443 8080 1180 端口
traefik v1.7+
web 服務(wù)
占用端口:
http 80
https 443
traefik 管理頁(yè)面 8080
配置目錄 /etc/traefik
Etcd:
高可用、強(qiáng)一致性的服務(wù)發(fā)現(xiàn)存儲(chǔ)倉(cāng)庫(kù),
作為traefik 后端配置存儲(chǔ)
占用端口:
外部客戶端連接 2379
etcd服務(wù)間通信 2380
Etcdkeeper:
Etcd web界面,支持v3的api
占用端口(可以自己設(shè)置):11800
Docker :
用于模擬快速啟動(dòng)一個(gè)后端web服務(wù)
鏡像地址:containous/whoami
占用端口:
http 80
https 443
traefik 管理頁(yè)面 8080
配置目錄 /etc/traefik
wget https://github.com/containous/traefik/releases/download/v1.7.19/traefik_linux-amd64
mv traefik_linux-amd64 /usr/bin/traefik
chmod 755 /usr/bin/traefik
mkdir -p /etc/traefik
touch /etc/traefik/acme.json
chmod 755 /etc/traefik
chmod 600 /etc/traefik/acme.json
[root@ip-10-3-1-119 traefik]# traefik version
Version: v1.7.19
Codename: maroilles
Go version: go1.12.12
Built: 2019-10-28_02:07:32PM
OS/Arch: linux/amd64
至此traefik配置完畢 ?。。?/p>
docker run -d -p 8880:80 containous/whoami
docker run -d -p 8890:80 containous/whoami
vi /etc/traefik/traefik.toml
#開(kāi)啟debug 模式,方便調(diào)試,Default,false
debug = true
#日志級(jí)別, "DEBUG", "INFO", "WARN", "ERROR", "FATAL", "PANIC"
logLevel = "INFO"
# 同時(shí)支持http和https
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
#啟用壓縮傳輸
compress = true
#http強(qiáng)制跳轉(zhuǎn)https
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
#啟用壓縮傳輸
compress = true
[entryPoints.https.tls]
# 配置自動(dòng)Let's Encrypt證書(shū)
[acme]
email = "kjh@mail.com"
##加密文件的存儲(chǔ)位置
storage = "/etc/traefik/acme.json"
##證書(shū)類型,必需指向到一個(gè)443端口
entryPoint = "https"
#在新域名接受第一次https請(qǐng)求時(shí)申請(qǐng)證書(shū)
onDemand = false
#自動(dòng)為acme.entryPoint下的新域名申請(qǐng)證書(shū)
onHostRule = true
[acme.httpChallenge]
#acme 驗(yàn)證方式支持 dns 、http、tls,本次使用https
#https://letsencrypt.org/zh-cn/docs/challenge-types/
entryPoint="http"
# 開(kāi)啟日志功能
#成功訪問(wèn)日志
[accessLog]
filePath = "/var/log/traefik/acceslog.txt"
format = "json"
#服務(wù)啟動(dòng)日志
[traefikLog]
filePath = "/var/log/traefik/traefik.log"
# 開(kāi)啟web管理端
[web]
address = ":8080"
#設(shè)置RESTAPI 為只讀模式
readOnly = true
[web.auth.basic]
#test/test 登陸名/密碼 可用openssl生成
#users = ["test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"]
#啟用詳細(xì)信息輸出,會(huì)在管理界面下方打印一些錯(cuò)誤信息,提供參考;
[web.statistics]
ecentErrors = 10
#開(kāi)啟api,修改服務(wù)配置,生產(chǎn)環(huán)境推薦添加加密認(rèn)證
[api]
entryPoint = "traefik"
#開(kāi)啟管理面板
dashboard = true
debug = true
#使用文件方式管理配置
[file]
#在指定目錄查找配置文件
directory = "/etc/traefik/rules"
#監(jiān)視文件變更
watch = true
#使用etcd作為存儲(chǔ)開(kāi)啟此配置,需要與文件管理配置同時(shí)開(kāi)啟,不然無(wú)法正常同步配置
[etcd]
#節(jié)點(diǎn)地址:端口
endpoint = "10.3.1.119:2379"
#強(qiáng)制使用v3版本api
useAPIV3 = true
#監(jiān)視配置變更
watch = true
/etc/traefik/rules
web域名為:kjh.pt1.jp
后端服務(wù):
http://54.238.247.28:8880
http://10.3.1.119:8890
vi /etc/traefik/rules/kjh.pt1.toml
添加配置如下:
[frontends]
[frontends.ft01]
backend = "bk01"
[frontends.ft01.routes.rule_1]
rule = "Host:kjh.pt1.jp,kjh01.pt1.jp"
[backends]
[backends.bk01]
[backends.bk01.servers.server1]
url = "http://54.238.247.28:8880"
weight = 10
[backends.bk01.servers.server2]
url = "http://10.3.1.119:8890"
weight = 10
注意:上面配置的域名需要先在dns 做解析,指向traefik節(jié)點(diǎn)IP地址,不然無(wú)法正常申請(qǐng)ssl證書(shū)!!!
yum install etcd -y
vi /etc/etcd/etcd.conf
修改 ttp://localhost:2379 為 http://0.0.0.0:2379
#主要修改項(xiàng)如下:
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
#啟動(dòng)服務(wù)
systemctl daemon-reload
systemctl start etcd
systemctl status etcd
wget https://github.com/evildecay/etcdkeeper/releases/download/v0.7.5/etcdkeeper-v0.7.5-linux_x86_64.zip
unzip etcdkeeper-v0.7.5-linux_x86_64.zip
cd etcdkeeper
chmod 755 etcdkeeper
#后臺(tái)啟動(dòng)
./etcdkeeper -p 11800 &
http://節(jié)點(diǎn)IP地址:11800/
如果可以瀏覽 etd 庫(kù)內(nèi)容為正常,但此時(shí)并無(wú)文件;
同步traefik 配置至 etcd庫(kù)
traefik storeconfig -c traefik.toml
[root@ip-10-3-1-119 traefik]# traefik storeconfig traefik.toml
........
0,"DebugLogGeneratedTemplate":false,"Directory":"/etc/traefik/rules","TraefikFile":""}
2020/01/05 21:19:22 Writing config to KV
1:導(dǎo)入配置時(shí)返回信息無(wú)報(bào)錯(cuò),返回 Writing config to KV;
2:訪問(wèn)etcd ui ,查看traefik配信息是否導(dǎo)入成功,顯示目錄大致如下;
/
etc
traefik
執(zhí)行traefik 命令即可,默認(rèn)會(huì)到/etc/traefik/目錄下尋找配置文件。
訪問(wèn)traefik 節(jié)點(diǎn)IP地址:8080 可以看到 文件的配置和KV 庫(kù)的配置,配置文件配置的域名可以正常訪問(wèn)。
效果圖如下:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:traefik怎么用etcd配置存儲(chǔ)-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article26/dieojg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、移動(dòng)網(wǎng)站建設(shè)、Google、建站公司、網(wǎng)站排名、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容