【Host Redirect】服務(wù)主機(jī)重定向
配置主機(jī)重定向可以使得在請(qǐng)求發(fā)往指定服務(wù)主機(jī)時(shí),將請(qǐng)求重定向到另一個(gè)服務(wù)主機(jī)。本文介紹如何配置服務(wù)主機(jī)重定向。
前提條件
已完成準(zhǔn)備工作,并部署httpbin服務(wù)、sleep服務(wù)和nginx服務(wù)。具體操作,請(qǐng)參見準(zhǔn)備工作。
操作步驟
使用istioctl工具,執(zhí)行以下命令,為httpbin服務(wù)部署Waypoint代理。
istioctl x waypoint apply --service-account httpbin
預(yù)期輸出:
waypoint default/httpbin applied
為httpbin服務(wù)配置虛擬服務(wù),將發(fā)往httpbin服務(wù)的請(qǐng)求轉(zhuǎn)發(fā)至nginx服務(wù)。
登錄ASM控制臺(tái),在左側(cè)導(dǎo)航欄,選擇 。
在網(wǎng)格管理頁面,單擊目標(biāo)實(shí)例名稱,然后在左側(cè)導(dǎo)航欄,選擇 ,然后單擊創(chuàng)建。
在創(chuàng)建頁面,進(jìn)行如下配置,單擊預(yù)覽,確認(rèn)YAML內(nèi)容無誤后,單擊確認(rèn),然后單擊創(chuàng)建。
apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: httpbin namespace: default spec: hosts: - httpbin.default.svc.cluster.local http: - route: - destination: host: nginx.default.svc.cluster.local
執(zhí)行以下命令,驗(yàn)證服務(wù)主機(jī)重定向是否生效。
kubectl exec -it deploy/sleep -- curl httpbin:8000|grep -o "<title>.*</title>"
預(yù)期輸出:
<title>Welcome to nginx!</title>
可以看到在sleep容器內(nèi)部訪問httpbin服務(wù)的根路徑,返回nginx服務(wù)的響應(yīng)內(nèi)容,表明請(qǐng)求被重定向到nginx服務(wù)上。
重要在Ambient模式下,若您需要配置服務(wù)主機(jī)重定向,將發(fā)往目標(biāo)服務(wù)1的請(qǐng)求轉(zhuǎn)發(fā)到目標(biāo)服務(wù)2,則不能為目標(biāo)服務(wù)2部署Waypoint代理。