|NO.Z.00418|——————————|CloudNative|——|KuberNetes&NetworkPolicy.V10|-------------------------------------------------|Ingress.v01|服務釋出限制.v01|
阿新 • • 發佈:2022-04-02
[CloudNative:KuberNetes&NetworkPolicy.V10] [Applications.KuberNetes] [|NetworkPolicy|服務釋出限制於Ingress|環境準備|沒有網路策略限制驗證|]
一、服務釋出限制於Ingress:架構圖
二、架構圖概述
三、建立nginx服務### --- 架構圖概述 ~~~ 一個專案前端和閘道器對外暴露,其它的應用是不需要對外暴露得 ~~~ 假設有一個SpringCloud專案,可能會有一個nodejs作為前端,zuul作為閘道器入口, ~~~ 釋出應用的時候,會在ingress-nginx上配置一個根到前端 ~~~ 再配置一個api到zuul,這個zuul就會實現內部的路由。 ~~~ 那麼就需要這2個服務暴露對外即可,其它的微服務是不需要暴露在外的。 ~~~ 就需要把nodejs和zuul公佈於ingress controller,只要ingress controller訪問這2個微服務, ~~~ 那麼就在這個名稱空間下配置網路策略,只需要ingress,controller前端訪問nodejs和zuul
### --- 建立nginx服務
[root@k8s-master01 ~]# kubectl create deploy nginx --image=registry.cn-beijing.aliyuncs.com/dotbalo/nginx:latest -n nw-demo
deployment.apps/nginx created
### --- 暴露服務
[root@k8s-master01 ~]# kubectl expose deploy nginx -n nw-demo --port=80
service/nginx exposed
四、檢視建立的pod和service### --- 檢視建立的pod [root@k8s-master01 ~]# kubectl get po -n nw-demo -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-67d8d8bffb-6zjzx 1/1 Running 0 4m51s 172.25.92.116 k8s-master02 <none> <none>
### --- 檢視建立的service
[root@k8s-master01 ~]# kubectl get svc -n nw-demo -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
nginx ClusterIP 10.96.82.110 <none> 80/TCP 55s app=nginx
### --- 檢視建立的endpoints
[root@k8s-master01 ~]# kubectl get endpoints -n nw-demo -owide
NAME ENDPOINTS AGE
nginx 172.25.92.116:80 61s
五、驗證測試
### --- 驗證在沒有做任何網路策略的情況下是否可以通訊
~~~ 在宿主機上訪問nginx服務
[root@k8s-master01 ~]# curl 10.96.82.110
<h1>Welcome to nginx!</h1>
### --- 在不同namespace下通過pod驗證是否可以通訊
~~~ # 通過default名稱空間下pod驗證
[root@k8s-master01 ~]# kubectl get po -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
debug-tools 1/1 Running 1 29m 172.25.244.242 k8s-master01 <none> <none>
~~~ # 驗證是否可以訪問
~~~ 跨namespace反問是可以通訊的
[root@k8s-master01 ~]# kubectl exec -ti debug-tools -- bash
(14:30 debug-tools:/) curl http://nginx.nw-demo
<h1>Welcome to nginx!</h1>
===============================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)