系統(tǒng)運(yùn)維
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的瓊山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!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)限
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
apiVersion: v1
kind: Service
metadata:
name: nginx-php
namespace: default
spec:
type: NodePort
#定義類型為NodePort,用戶需要訪問通過node節(jié)點(diǎn)的30081
selector:
app: web
ports:
- port: 80
#service端口
targetPort: 80
#容器端口
nodePort: 30081
#node端口,如果是ClusterIP的這段不需要,也可以不填會(huì)隨機(jī)
---
apiVersion: v1
kind: Pod
metadata:
name: ngingx-php
labels:
app: web
spec:
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.111
5.php yaml文件 php.yaml
apiVersion: v1
kind: Service
metadata:
name: php
namespace: default
spec:
selector:
app: php
ports:
- port: 9000
targetPort: 9000
#由于nginx和php都是pod 內(nèi)部訪問就可以了暴露內(nèi)部端口即可
---
apiVersion: v1
kind: Pod
metadata:
name: php
labels:
app: php
spec:
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.111
6.php 測(cè)試文件 "info.php"
7.訪問
#找個(gè)node 的 30081端口訪問 http://10.1.1.111:30081/info.php