kubernetes LoadBalancer 服务部署

2019-08-28  本文已影响0人  akka9

说明:
当使用 keepalived vip 作为高可用IP时,可以使用 externalIPs 来制定对外的IP
当使用 metallb 作为 lb 时,可以使用 loadBalancerIP 来指定对外的IP
当使用 metallb 作为 lb 时,也可以用 annotations: metallb.universe.tf/address-pool: ingress-nginx-ips 指定地址池,metallb 会从地址池里面分配一个可以用的IP

cat > nginx-deployment-service.yaml <<-EOF 
---
apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx 
  #annotations:
  #metallb.universe.tf/address-pool: ingress-nginx-ips
spec:
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nginx
  replicas: 3 
  template: 
    metadata:
      labels:
        app: nginx
        k8s-app: lb
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
  namespace: default
  labels:
    app: nginx
spec:
  externalTrafficPolicy: Local
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer
  externalIPs:
   - 1.1.1.1
  #loadBalancerIP: 1.2.3.4
EOF
上一篇 下一篇

猜你喜欢

热点阅读