原創-阿里雲上SLB暴露K8S服務-四層協議/七層協議


注意:在阿里的k8s中使用SLB,當服務(pod)發生漂移后,slb后端也會動態修改,此時會有瞬間的5xx錯誤,同時注意會覆蓋原先手動配置的配置。因此給K8S提供SLB時最好使用全新的SLB。

---四層協議yaml文件---

apiVersion: v1

kind: Service

metadata:

 annotations:

   service.beta.kubernetes.io/alicloud-loadbalancer-id: "你的SLB實例ID"

   service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet

   service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: "true"

 name: xlvip-api-grpc-slb

 namespace: xlvip

spec:

 externalTrafficPolicy: Local

 ports:

 - name: grpc

   port: 50051

   protocol: TCP

   targetPort: 50051

 selector:

   xlvip-app: xlvip-api-grpc

 sessionAffinity: None

 type: LoadBalancer

---七層協議yaml文件---

apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alicloud-loadbalancer-cert-id: 你的域名證書id
service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: "true"
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-flag: "on"
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-interval: "10"
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-timeout: "5"
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-type: http
service.beta.kubernetes.io/alicloud-loadbalancer-health-check-uri: /healthz
service.beta.kubernetes.io/alicloud-loadbalancer-healthy-threshold: "2"
service.beta.kubernetes.io/alicloud-loadbalancer-id: 你的SLB實例ID
service.beta.kubernetes.io/alicloud-loadbalancer-protocol-port: https:443,http:80
service.beta.kubernetes.io/alicloud-loadbalancer-unhealthy-threshold: "3"
labels:
app: nginx-ingress-lb
name: nginx-ingress-xshare-lb
namespace: xlsdk
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 80
selector:
app: ingress-nginx
sessionAffinity: None
type: LoadBalancer


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM