cat > npm.yaml << EOF
apiVersion: v1
kind: Service
metadata:
name: nginx-php
spec:
type: NodePort
ports:
- name: nginx
port: 80
protocol: TCP
targetPort: 80
nodePort: 30003
selector:
app: nginx-php
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-php
spec:
selector:
matchLabels:
app: nginx-php
replicas: 1
template:
metadata:
labels:
app: nginx-php
spec:
containers:
- name: nginx-php
image: 123.207.108.76:7788/nginx
ports:
- containerPort: 80
volumeMounts:
- name: nginx-data
mountPath: /var/www/html
- name: nginx-conf
mountPath: /etc/nginx/conf.d/
volumes:
- name: nginx-data
hostPath:
path: /root/k8s/nmp/html
- name: nginx-conf
hostPath:
path: /root/k8s/nmp/conf
---
apiVersion: v1
kind: Service
metadata:
name: php
spec:
ports:
- name: php
port: 9000
protocol: TCP
targetPort: 9000
selector:
app: php
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: php
labels:
name: php
spec:
replicas: 1
selector:
matchLabels:
app: php
template:
metadata:
labels:
app: php
spec:
containers:
- name: php
image: 123.207.108.76:7788/php:5.6e
volumeMounts:
- mountPath: /var/www/html/
name: nginx-data
ports:
- containerPort: 9000
volumes:
- name: nginx-data
hostPath:
path: /root/k8s/nmp/html
---
apiVersion: v1
kind: Service
metadata:
name: mysql
# labels:
# app: mysql
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: mysql
# clusterIP: None
---
#使用deployment建立一個pod資源,舊的k8s版本可使用kind: ReplicationController 來建立pod
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mysql #deployment的名稱,全局惟一
spec:
replicas: 1 # Pod副本期待數量,1表示只運行一個pod,裏面一個容器
template: #根據此模板建立Pod的副本(實例)
metadata:
labels: #符合目標的Pod擁有此標籤。默認和name的值同樣
name: mysql
spec:
containers: # Pod中容器的定義部分
- name: mysql #容器的名稱
image: 123.207.108.76:7788/mysql57 #容器對應的Docker Image鏡像,若是在線pull名稱必定要正確。
imagePullPolicy: IfNotPresent #參數說明:IfNotPresent :若是本地存在鏡像就優先使用本地鏡像。
ports:
- containerPort: 3306 #容器暴露的端口號
protocol: TCP
env: #注入到容器的環境變量
- name: MYSQL_ROOT_PASSWORD #設置mysql root的密碼
value: "123456"
EOF