几个参考的yaml文件
---
apiVersion: v1
kind: Service
metadata:
name: apache-service
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
selector:
app: myapache
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: apache-example
spec:
selector:
matchLabels:
app: myapp-apache
replicas: 1
template:
metadata:
labels:
app: myapp-apache
spec:
#nodeName: node-0001
containers:
- name: apache
image: 192.168.1.100:5000/myos:httpd
ports:
- protocol: TCP
containerPort: 80
restartPolicy: Always
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myweb
spec:
selector:
matchLabels:
app: myweb
replicas: 1
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: php-fpm
image: 192.168.1.100:5000/myos:php-fpm
- name: nginx
image: 192.168.1.100:5000/myos:nginx
ports:
- protocol: TCP
containerPort: 80
volumeMounts:
- name: nginx-php
subPath: nginx.conf
mountPath: /usr/local/nginx/conf/nginx.conf
volumes:
- name: nginx-php
configMap:
name: nginx-conf
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myweb
spec:
selector:
matchLabels:
app: myweb
replicas: 1
template:
metadata:
labels:
app: myweb
spec:
nodeSelector:
kubernetes.io/hostname: node-0003
containers:
- name: myos
image: 192.168.1.100:5000/myos:v1804
stdin: true
tty: true
#volumeMounts:
#- name: web-site
# mountPath: /var/www/html
- name: apache
image: 192.168.1.100:5000/myos:httpd
ports:
- protocol: TCP
containerPort: 80
#volumeMounts:
#- name: my-cache
# mountPath: /var/cache
#- name: my-data
# mountPath: /var/www/html
#volumes:
#- name: my-cache
# emptyDir: {}
#- name: my-data
# hostPath:
# path: /var/webroot
# type: DirectoryOrCreate
#- name: web-site
# persistentVolumeClaim:
# claimName: pvc-nfs
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs
spec:
volumeMode: Filesystem
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
selector:
matchLabels:
app: web-nfs
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs
labels:
app: web-nfs
spec:
volumeMode: Filesystem
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /var/webroot
server: 192.168.1.100
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myweb
spec:
selector:
matchLabels:
app: apache
replicas: 1
template:
metadata:
labels:
app: apache
spec:
containers:
- name: apache
image: 192.168.1.100:5000/myos:httpd
ports:
- containerPort: 80
resources:
requests:
cpu: 200m
restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
ports:
- protocol: TCP
port: 80
targetPort: 80
selector:
app: apache
type: ClusterIP
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: myweb
spec:
minReplicas: 1
maxReplicas: 3
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myweb
targetCPUUtilizationPercentage: 50
---
apiVersion: v1
kind: Service
metadata:
name: test-service
spec:
selector:
app: myapache
ports:
- protocol: TCP
port: 80
targetPort: 80
clusterIP:
externalIPs:
- 192.168.1.101
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: php-example
spec:
selector:
matchLabels:
app: myapp-php
replicas: 1
template:
metadata:
labels:
app: myapp-php
spec:
#affinity:
# nodeAffinity:
# preferredDuringSchedulingIgnoredDuringExecution:
# - weight: 1
# preference:
# matchExpressions:
# - key: cpu
# operator: In
# values:
# - high
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: mem
# operator: In
# values:
# - high
# - mid
containers:
- name: php-fpm
image: 192.168.1.100:5000/myos:php-fpm
ports:
- protocol: TCP
containerPort: 9000
restartPolicy: Always