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 
    #nodePort: 30081 #service对外开放端口
  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: #docker容器的配置
      - name: mnistservice
        image: 192.1.1.211:5000/mnist:v1 # pull镜像的地址 ip:prot/dir/images:tag
        imagePullPolicy: IfNotPresent #pull镜像时机,
        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 
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐