Kubernetes-Ingress 支持TCP/UDP的負(fù)載均衡

配置默認(rèn)的backend

為了讓Ingress Controller正常啟動(dòng),需要給它配置一個(gè)默認(rèn)的backend,用于當(dāng)客戶端訪問的URL地址不存在時(shí),能夠返回一個(gè)正確的404應(yīng)答。

這個(gè)backend服務(wù)用任何應(yīng)用實(shí)現(xiàn)都可以哑芹,只要滿足默認(rèn)對(duì)/path的訪問返回404的應(yīng)答,同時(shí)能夠提供/healthz路徑以提供kubelet完成對(duì)它的健康檢查捕透。

這里default-backend的定義文件復(fù)制于kubernetes官方文檔聪姿。?

https://github.com/kubernetes/ingress/blob/master/examples/deployment/nginx/default-backend.yaml

所需鏡像地址為:gcr.io/google_containers/defaultbackend:1.0?

這里我已經(jīng)push到了本地倉(cāng)庫(kù)里。?

內(nèi)容如下:

apiVersion: extensions/v1beta1kind:Deploymentmetadata:? name:default-http-backendlabels:? ? k8s-app:default-http-backendnamespace: kube-systemspec:? replicas:1template:? ? metadata:? ? ? labels:? ? ? ? k8s-app:default-http-backendspec:? ? ? terminationGracePeriodSeconds:60containers:? ? ? - name:default-http-backend#Anyimage is permissableaslongas:? ? ? ? #1.Itserves a404page at /? ? ? ? #2.Itserves200on a /healthz endpoint? ? ? ? image:192.168.121.140:5000/defaultbackend? ? ? ? livenessProbe:? ? ? ? ? httpGet:? ? ? ? ? ? path: /healthz? ? ? ? ? ? port:8080scheme:HTTPinitialDelaySeconds:30timeoutSeconds:5ports:? ? ? ? - containerPort:8080resources:? ? ? ? ? limits:? ? ? ? ? ? cpu:10m? ? ? ? ? ? memory:20Mi? ? ? ? ? requests:? ? ? ? ? ? cpu:10m? ? ? ? ? ? memory:20Mi---apiVersion: v1kind:Servicemetadata:? name:default-http-backendnamespace: kube-system? labels:? ? k8s-app:default-http-backendspec:? ports:? - port:80targetPort:8080selector:? ? k8s-app:default-http-backend

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

創(chuàng)建backend

# kubectl apply -f default-backend.yaml

1

創(chuàng)建Ingress Controller

在kubernetes中乙嘀,Ingress Controller將以Pod的形式運(yùn)行末购,監(jiān)控apiserver的/ingress接口后端的backend services,如果service發(fā)生變化虎谢,則Ingress Controller自動(dòng)更新其轉(zhuǎn)發(fā)規(guī)則盟榴。

在此使用谷歌提供的nginx-ingress-controller鏡像。鏡像地址為:gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.11(yaml中修改為了本地鏡像)

這里是針對(duì)TCP的負(fù)載均衡例子婴噩。

對(duì)kubernetes學(xué)習(xí)記錄(6)——Guestbook Demo?frontend service做負(fù)載均衡擎场。

首先是nginx-tcp-ingress-configmap.yaml

yaml定義文件復(fù)制自https://github.com/kubernetes/ingress/blob/master/examples/tcp/nginx/nginx-tcp-ingress-configmap.yaml?

內(nèi)容如下:(將9000端口轉(zhuǎn)發(fā)到defaulf/frontend:80服務(wù)端口上)

apiVersion: v1kind: ConfigMapmetadata:? name: nginx-tcp-ingress-configmapnamespace: kube-systemdata:9000:"default/frontend:80"

1

2

3

4

5

6

7

創(chuàng)建

# kubectl create -f nginx-tcp-ingress-configmap.yaml

1

nginx-tcp-ingress-controller.yaml定義文件復(fù)制自https://github.com/kubernetes/ingress/blob/master/examples/tcp/nginx/nginx-tcp-ingress-controller.yaml

內(nèi)容如下:

apiVersion: v1kind: ReplicationControllermetadata:? name: nginx-ingress-controllerlabels:? ? k8s-app: nginx-ingress-lbnamespace: kube-systemspec:? replicas:1selector:? ? k8s-app: nginx-tcp-ingress-lbtemplate:? ? metadata:? ? ? labels:? ? ? ? k8s-app: nginx-tcp-ingress-lbname: nginx-tcp-ingress-lbspec:? ? ? terminationGracePeriodSeconds:60containers:-image:192.168.121.140:5000/nginx-ingress-controllername: nginx-tcp-ingress-lbreadinessProbe:? ? ? ? ? httpGet:? ? ? ? ? ? path: /healthz? ? ? ? ? ? port:10254scheme: HTTP? ? ? ? livenessProbe:? ? ? ? ? httpGet:? ? ? ? ? ? path: /healthz? ? ? ? ? ? port:10254scheme: HTTP? ? ? ? ? initialDelaySeconds:10timeoutSeconds:1env:-name: POD_NAME? ? ? ? ? ? valueFrom:? ? ? ? ? ? ? fieldRef:? ? ? ? ? ? ? ? fieldPath: metadata.name-name: POD_NAMESPACE? ? ? ? ? ? valueFrom:? ? ? ? ? ? ? fieldRef:? ? ? ? ? ? ? ? fieldPath: metadata.namespace? ? ? ? ports:-containerPort:80hostPort:80-containerPort:443hostPort:443-containerPort:9000hostPort:9000args:-/nginx-ingress-controller---default-backend-service=$(POD_NAMESPACE)/default-http-backend---tcp-services-configmap=$(POD_NAMESPACE)/nginx-tcp-ingress-configmap

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

創(chuàng)建:

# kubectl create -f nginx-tcp-ingress-controller.yaml

1

驗(yàn)證

從上圖看出nginx-ingress-controller-fm45m運(yùn)行在192.168.121.145上。之前的nginx-tcp-ingress-configmap定義的端口號(hào)是9000几莽。

訪問192.168.121.145:9000直接可以訪問到Guestbook迅办。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市章蚣,隨后出現(xiàn)的幾起案子站欺,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矾策,死亡現(xiàn)場(chǎng)離奇詭異磷账,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)贾虽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門逃糟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蓬豁,你說我怎么就攤上這事履磨。” “怎么了庆尘?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)巷送。 經(jīng)常有香客問我驶忌,道長(zhǎng),這世上最難降的妖魔是什么笑跛? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任付魔,我火速辦了婚禮,結(jié)果婚禮上飞蹂,老公的妹妹穿的比我還像新娘几苍。我一直安慰自己,他們只是感情好陈哑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般透典。 火紅的嫁衣襯著肌膚如雪哀蘑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天界酒,我揣著相機(jī)與錄音圣拄,去河邊找鬼。 笑死毁欣,一個(gè)胖子當(dāng)著我的面吹牛庇谆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凭疮,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼饭耳,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了执解?” 一聲冷哼從身側(cè)響起哥攘,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逝淹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耕姊,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年栅葡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茉兰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡欣簇,死狀恐怖规脸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情熊咽,我是刑警寧澤莫鸭,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站横殴,受9級(jí)特大地震影響被因,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衫仑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一梨与、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧文狱,春花似錦粥鞋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至苏研,卻和暖如春尚猿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背楣富。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工凿掂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纹蝴。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓庄萎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親塘安。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糠涛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 安裝k8s Master高可用集群 主機(jī) 角色 組件 172.18.6.101 K8S Master Kubele...
    jony456123閱讀 8,051評(píng)論 0 9
  • Kubernetes Ingress概念及部署 1概述 。ClusterIP網(wǎng)絡(luò)僅限集群內(nèi)通信兼犯,NodePort可...
    YichenWong閱讀 10,693評(píng)論 0 8
  • 版權(quán)聲明:原創(chuàng)作品忍捡,謝絕轉(zhuǎn)載集漾!否則將追究法律責(zé)任。 前言 最近中國(guó)和印度的局勢(shì)也是愈演愈烈砸脊。作為一個(gè)愛國(guó)青年我有些...
    李偉銘MIng閱讀 2,062評(píng)論 0 5
  • kubernetes 簡(jiǎn)介 一個(gè)迅速過一遍kubernetes 非常不錯(cuò)的資源:基于Kubernetes構(gòu)建Doc...
    bradyjoestar閱讀 15,281評(píng)論 2 7
  • 我和你之間具篇,應(yīng)該算不上是有故事,因?yàn)楣适露加薪Y(jié)局凌埂,無論好壞驱显,無論歡喜或者悲情,都是有結(jié)果的瞳抓,而你埃疫,留給我的是無盡頭...
    二豆君閱讀 354評(píng)論 6 4