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