1. 程式人生 > >Kubernetes 實戰教學,手把手教您執行第一個 Nginx 叢集

Kubernetes 實戰教學,手把手教您執行第一個 Nginx 叢集

screenshot

出品丨Docker公司(ID:docker-cn)
編譯丨小東
每週一、三、五,與您不見不散!


Nginx(發音為“engine-x”)是用於 HTTP、HTTPS、SMTP、POP3 和 IMAP 協議的開源反向代理伺服器,以及負載均衡器、HTTP 快取和 Web 伺服器(源伺服器)。Nginx 專案著眼於高併發性、高效能和低記憶體使用率。它是在類似 BSD 的2個條款許可證下授權的,可以在Linux、BSD變體、Mac OS X、Solaris、AIX、HP-UX 以及其他 *nix 版本上執行。它還為 Microsoft Windows 提供了概念驗證埠。

在我的上一篇文章《Kubernetes 實戰教學,手把手教您設定擁有5個節點的 K8S 群集》

中,我展示瞭如何構建5個節點的 Kubernetes 叢集。在本文中,我們將瞭解如何在這個叢集環境中構建第一個 Nginx 應用程式。


驗證5個節點 K8s 叢集

[node1 ~]$ kubectl get nodes
NAME     STATUS   ROLES    AGE      VERSION
node1    Ready    master   1h       v1.10.2
node2    Ready       1h       v1.10.2
node3    Ready       1h       v1.10.2
node4    Ready       1h       v1.10.2
node5    Ready       14m      v1.10.2
[node1 ~]$

執行具有4個副本的 Nginx 應用

kubectl run nginx --image=nginx:latest --replicas=4

驗證 K8s Pods 正常執行

[node1 ~]$ kubectl get po
NAME                    READY    STATUS   RESTARTS  AGE
nginx-5db977d67c-6sdfd  1/1      Running  0         2m
nginx-5db977d67c-jfq9h  1/1      Running  0         2m
nginx-5db977d67c-vs925  1/1      Running  0         2m
nginx-5db977d67c-z5r45  1/1      Running  0         2m
[node1 ~]$

檢視 pods

kubectl get pods -w

公開 NGINX API 埠

kubectl expose deploy/nginx --port 80

測試 Nginx 服務

IP=$(kubectl get svc nginx -o go-template --template '{{ .spec.clusterIP }}')

傳送請求

[node1 ~]$ curl $IP:80
Welcome to nginx!

If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
 
For online documentation and support please refer to
<a href="http://nginx.org/nginx.org.
Commercial support is available at
<a href="http://nginx.com/nginx.com.
 
Thank you for using nginx.
[node1 ~]$

在下一篇博文中,我將展示如何在 Play with Kubernetes 平臺上構建 Istio 應用程式。