|NO.Z.00154|——————————|CloudNative|——|KuberNetes&服務釋出.V05|-------------------------------------------------------|service.v01|概述|
阿新 • • 發佈:2022-03-30
[CloudNative:KuberNetes&服務釋出.V05] [Applications.KuberNetes] [|DevOps|k8s|服務釋出|在k8s中如何釋出服務|service|使用service代理k8s內部服務|]
一、在k8s中如何釋出服務概述
二、傳統模式和k8s下如何釋出服務的:傳統模式:在沒有使用k8s之前,是如何實現東西流量的呼叫的? 三、傳統模式和k8s下如何釋出服務的:在k8s中釋出服務的方式### --- 服務訪問分為兩種形式: ~~~ 第一種:服務之間的呼叫;就是我們部署了兩個應用,這兩個都是後端應用;比如是ServerA,serviceB兩個服務之間的呼叫。 ~~~ 第二種:使用者流量的訪問,使用者通過域名去訪問。 ~~~ # 東西流量:服務之間的訪問,一般有service實現 ~~~ # 南北流量:使用者從外網進來的流量,一般有ingress實現
### --- 在k8s中釋出服務的方式 ~~~ # 比如Node中是java程序;比如Java1要呼叫Java2是如何呼叫的: ~~~ 方案一:直接使用localhost,這種是可以的,但是java1和java2並不一定是在同一臺宿主機上的,所以不能使用localhost呼叫。 ~~~ 方案二:一般都是加入負載均衡。一般都是加入一個域名,通過pass或者location來呼叫。java1通過域名加路徑來訪問java2
四、在k8s中,是如何實現東西流量的呼叫的?k8s模式下?~~~ # 第二種: ~~~ 使用的是springclus架構;使用的是Eureka。 ~~~ java1和java2啟動的時候會通過啟動註冊的方式把自己的資訊註冊到Eureka中, ~~~ Eureka會有一張登錄檔,這張登錄檔記錄了每個應用的IP地址加埠, ~~~ 然後這個登錄檔會被java1和java2拉取到自己的本地儲存。 ~~~ 加入java1訪問java2就會讀取這個檔案,對應這個檔案會解析出java2的IP地址和埠, ~~~ 就可以訪問到java2了。這種方式就是不需要使用nginx進行反代的。 ~~~ 這就是Eureka比較好用的地方:因為它本身就為我們實現了高可用的機制, ~~~ 容錯的機制,負載均衡的機制。
### --- 在k8s中,是如何實現東西流量的呼叫的?k8s模式下?
~~~ Java1和Java2是以Pod的形式部署的,在這個k8s中有service
~~~ 我們會給k8s中裝入service:java1-svc和Java2-svc
~~~ 這個service通過selector匹配這個Pod,所以說在k8s中給java1和java2建立一個service,
~~~ 這樣java1想要訪問java2的話,就可以直接使用http://java2-svc:埠號就可以訪問到java24
~~~ 若是在你的k8s中部署了springclus架構,
~~~ 並且沒有把Eureka元件給拋棄掉的話,就可以不用建立service,而是直接使用Eureka來實現。
五、南北流量東西流量實現方式:
### --- 南北流量:是如何實現的:傳統模式
~~~ 假設有使用者進行訪問我們的域名:www.a.com/api;經過公網的DNS解析,
~~~ 解析到這個域名的IP地址是什麼,這個IP地址到服務後臺負載均衡裝置上,假設到了Nginx上。
~~~ 假設www.a.com訪問到這個負載均衡器上nginx,
~~~ 這個API介面會在nginx上配置這個service的域名,他就可以訪問到我們的服務
~~~ 比如是springcluts架構,它會提供一個Zuul,它會做pass的路由。
~~~ 只需要把API介面指向Zuul就可以了。根指向我們的前端。
### --- 南北流量:在k8s中是如何通過域名的方式訪問到我們的服務的。
~~~ Node03是部署的我們的前端應用。
~~~ Ingress提供一個LB的功能;會在Ingress配置這個域名,配置之後會匹配到這個service上。
~~~ Ingress是通過yaml檔案通過註釋的方式去寫Ingress去寫這個配置檔案的。
~~~ 在Ingress上配置了兩個路由,一個是根www.a.com到我們的前端上,
~~~ 一個是到後端應用上的:/api/java1,這樣就實現了南北流量的呼叫。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)