在kubernetes集群中运行nginx
在完成前面kubernetes數(shù)據(jù)持久化的學(xué)習(xí)之后,本節(jié)我們開始嘗試在k8s集群中部署nginx應(yīng)用,對于nginx來說,需要持久化的數(shù)據(jù)主要有兩塊:
1、nginx配置文件和日志文件
2、網(wǎng)頁文件
一、配置nginx網(wǎng)頁文件持久化
1、ReplicationController配置文件如下
2、sevice配置文件如下
# cat nginx-svc.yaml apiVersion: v1 kind: Service metadata:name: nginx-testlabels: name: nginx-test spec:type: NodePortports:- port: 80protocol: TCPtargetPort: 80name: httpnodePort: 30088selector: name: nginx-test3、通過配置文件創(chuàng)建ReplicationController和service
# kubectl create -f nginx-rc.yaml # kubectl create -f nginx-svc.yaml
4、在nfs服務(wù)器上創(chuàng)建測試html文件
二、配置nginx配置文件持久化
我們需要在前面網(wǎng)頁文件持久化的基礎(chǔ)上把nginx配置文件和日志文件也進(jìn)行持久化
1、創(chuàng)建PVC,其中nfs-data存儲網(wǎng)頁文件,nfs-nginx-etc存儲配置文件和日志文件
2、修改nginx-rc.yaml配置文件,掛載兩個pvc
3、重新創(chuàng)建rc驗證兩個PVC是否成功掛載
# kubectl delete -f nginx-rc.yaml # kubectl create -f nginx-rc.yaml # kubectl get pod # kubectl describe pod nginx-test-kllfw
通過在對應(yīng)的node節(jié)點上inspect docker容器驗證
4、通過訪問網(wǎng)頁,發(fā)現(xiàn)nginx的server_token為開啟狀態(tài)
5、這里我們通過修改error_log和access_log到nfs路徑下,同時將server_token修改為off
6、重啟nginx使配置文件
通過將rc的副本數(shù)重新設(shè)置為0后,再將副本數(shù)設(shè)置為2,達(dá)到重啟nginx的效果。
當(dāng)然這里也可以通過kubectl exec的方式進(jìn)行。
7、驗證
驗證server_token已經(jīng)成功關(guān)閉
驗證在nfs server上能看到nginx的訪問日志,證明配置文件修改成功。
在生產(chǎn)環(huán)境中,nginx服務(wù)的發(fā)布需要考慮使用ingress,nginx配置文件應(yīng)當(dāng)首先考慮使用configmap來實現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的在kubernetes集群中运行nginx的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于喝酒的心情说说222个
- 下一篇: 《The Corporate Start