说明:
当使用 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









网友评论