建立一個名爲ads-app-service的服務:java
上述Service的yaml文件裏每一個字段,在Kubernetes的API文檔裏有詳細說明。node
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.12/#servicespec-v1-coreapi
如何找到這個url呢?數組
Reference->API Reference->v1.12:app
好比Service yaml文件裏Spec區域須要出現的字段,每一個字段在幫助文檔裏有詳細說明:負載均衡
Spec部分的子區域ports能夠定義多個port,經過符號"-"表明一個相似數組的結構:框架
ports數組裏每一個元素包含的字段:url
name對象
nodePortblog
port
protocol
targetPort
用kubectl create -f建立service,由於類型設置爲ClusterIP,但沒有指定具體的IP地址,所以建立時自動生成了一個。
再建立一個deployment:
這個deployment使用的image地址以下:
咱們還得建立一個Kubernetes Ingress,yaml文件以下:
須要Ingress的緣由是,一般狀況下,service和pod的IP只能在Kubernetes集羣內部訪問。集羣外部的請求須要經過負載均衡轉發到service在Node上暴露的NodePort上,而後再由kube-proxy將其轉發給相關的
Pod。
Ingress做爲Kubernetes裏的標準對象之一,負責給service提供集羣外部訪問的URL、負載均衡、SSL終止、HTTP路由等。
下面配置的rule的含義是:每次請求/ads時,請求轉發到服務ads-app-service上去。
使用host裏包含的url拼接上/ads,訪問這個應用:
點擊tile進入明細頁面:
這個應用的UI顯示用的是SAP UI5框架,後臺經過一個SpringBoot應用響應HTTP請求,數據存儲在PostgreSQL裏。
進入deployment對應的pod,能夠查看到java應用對應的jar文件和JDK環境。
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":