系統(tǒng)運(yùn)維
1.配置nfs 存儲(chǔ)卷
yum -y install nfs-utils rpcbind
##安裝nfs服務(wù)和rpc服務(wù)
vim /etc/exports #nfs的配置文件
/data/v1 10.1.1.0/24(rw,no_root_squash,no_all_squash,sync)
#給10.1.1.0/24網(wǎng)段的ip 訪問的權(quán)限
2.配置nginx的配置文件"default.conf"
server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { root /usr/share/nginx/html; #nginx根文件地址,訪問的資源都在這個(gè)文件夾里找 index index.html index.htm; } location ~ \\\\.php$ { root /usr/share/nginx/html; #根文件地址,定義的nginx的根一樣即可,同時(shí)這個(gè)地址也要和nignx一樣有訪問文件。 fastcgi_pass php.default.svc.cluster.local:9000; #訪問后端php的地址,用內(nèi)部server的dns解析,pod怎么重啟都能正常訪問的到 include fastcgi_params; fastcgi_param script_filename $document_root$fastcgi_script_name; fastcgi_param script_name $fastcgi_script_name; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; } }3.php配置文件"www.conf"
listen = 0.0.0.0:9000
#監(jiān)聽所有ip
4.編寫nginx的yaml 資源文件 nginx-php.yaml
apiversion: v1kind: servicemetadata: name: nginx-php namespace: defaultspec: type: nodeport #定義類型為nodeport,用戶需要訪問通過node節(jié)點(diǎn)的30081 selector: app: web ports: - port: 80 #service端口 targetport: 80 #容器端口 nodeport: 30081 #node端口,如果是clusterip的這段不需要,也可以不填會(huì)隨機(jī)---apiversion: v1kind: podmetadata: name: ngingx-php labels: app: webspec: containers: - name: ngingx-php image: nginx imagepullpolicy: ifnotpresent volumemounts: - name: nginx-data #調(diào)用存儲(chǔ)卷,映射到/usr/share/nginx/html文件夾,這里面是放nginx的訪問文件的 mountpath: /usr/share/nginx/html - name: nginx-conf #調(diào)用存儲(chǔ)卷,映射到/etc/nginx/conf.d文件夾,這里面是放nginx的配置文件的 mountpath: /etc/nginx/conf.d volumes: - name: nginx-data #定義nginx訪問文件存儲(chǔ)卷 nfs: path: /data/v1/data server: 10.1.1.111 #存儲(chǔ)卷是由nfs服務(wù)器10.1.1.111 提供的,/data/v1/data這個(gè)文件夾是真正存文件的 - name: nginx-conf #定義nginx配置文件存儲(chǔ)卷 nfs: path: /data/v1/nginx-conf server: 10.1.1.1115.php yaml文件 php.yaml
apiversion: v1kind: servicemetadata: name: php namespace: defaultspec: selector: app: php ports: - port: 9000 targetport: 9000 #由于nginx和php都是pod 內(nèi)部訪問就可以了暴露內(nèi)部端口即可---apiversion: v1kind: podmetadata: name: php labels: app: phpspec: containers: - name: php image: phpdockerio/php56-fpm imagepullpolicy: ifnotpresent volumemounts: - name: php-conf #調(diào)用php配置存儲(chǔ)卷 mountpath: /etc/php5/fpm/pool.d - name: php-data #調(diào)用nginx的存儲(chǔ)文件夾,php也要一份nginx的訪問文件,沒有調(diào)用過來是無文件處理 mountpath: /usr/share/nginx/html volumes: - name: php-conf nfs: path: /data/v1/php-conf server: 10.1.1.111 - name: php-data nfs: path: /data/v1/data server: 10.1.1.1116.php 測試文件 "info.php"
<?php phpinfo();?>7.訪問
#找個(gè)node 的 30081端口訪問 http://10.1.1.111:30081/info.php