K8s多节点部署映射外网示例
部署ingress-controller
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
创建ingress-mnistservice.yaml文件
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-mnistservice
namespace: default
annotations:
kubernets.io/ingress.class: "nginx"
spec:
rules:
- host: mnistservice.mnist.com
http:
paths:
- path:
backend:
serviceName: mnistservice
servicePort: 6030
---
apiVersion: v1
kind: Service
metadata:
name: mnistservice
namespace: default
labels:
app: mnistservice
spec:
type: NodePort
ports:
- port: 6030
selector:
app: mnistservice
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mnistservice
labels:
app: mnistservice
spec:
replicas: 3
selector:
matchLabels:
app: mnistservice
template:
metadata:
labels:
app: mnistservice
spec:
containers:
- name: mnistservice
image: 192.1.1.211:5000/mnist:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 6030
volumeMounts:
- name: nfs-client-root
mountPath: /data/apps/digits_number
volumes:
- name: nfs-client-root
nfs:
server: 10.10.12.196
path: /home/mnistimages
执行yaml文件
kubectl apply -f ingress-mnistservice.yaml