Nginx Kubernetes(AKS)上的UDP负载平衡
目前,我正在使用kubernetes nginx ingress的helm图表来配置UDP侦听器。这是我的舵图文件- 我添加了-Nginx Kubernetes(AKS)上的UDP负载平衡,nginx,kubernetes,udp,nginx-ingress,Nginx,Kubernetes,Udp,Nginx Ingress,目前,我正在使用kubernetes nginx ingress的helm图表来配置UDP侦听器。这是我的舵图文件- 我添加了-udp服务configmap:$(POD_名称空间)/nginx入口udp,作为额外参数的一部分 这是我的头盔值文件- ## nginx configuration ## Ref: https://github.com/kubernetes/ingress-nginx/blob/master/controllers/nginx/configuration.md ## c
udp服务configmap:$(POD_名称空间)/nginx入口udp
,作为额外参数的一部分
这是我的头盔值文件-
## nginx configuration
## Ref: https://github.com/kubernetes/ingress-nginx/blob/master/controllers/nginx/configuration.md
##
controller:
image:
repository: k8s.gcr.io/ingress-nginx/controller
tag: "v0.40.2"
digest: sha256:46ba23c3fbaafd9e5bd01ea85b2f921d9f2217be082580edc22e6c704a83f02f
pullPolicy: IfNotPresent
runAsUser: 101
allowPrivilegeEscalation: true
# Configures the ports the nginx-controller listens on
containerPort:
http: 80
https: 443
udp: 9012
dnsPolicy: ClusterFirst
reportNodeInternalIp: false
hostNetwork: false
hostPort:
enabled: true
ports:
udp: 9012
# http: 80
# https: 443
electionID: ingress-controller-leader
ingressClass: nginx
publishService:
enabled: true
pathOverride: ""
scope:
enabled: false
namespace: "" # defaults to .Release.Namespace
configMapNamespace: "" # defaults to .Release.Namespace
tcp:
configMapNamespace: "" # defaults to .Release.Namespace
annotations: {}
udp:
configMapNamespace: "" # defaults to .Release.Namespace
annotations: {}
extraArgs:
udp-services-configmap: $(POD_NAMESPACE)/nginx-ingress-udp
extraEnvs: []
kind: Deployment
annotations: {}
updateStrategy:
rollingUpdate:
maxUnavailable: 1
type: RollingUpdate
minReadySeconds: 0
nodeSelector:
kubernetes.io/os: linux
livenessProbe:
failureThreshold: 5
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
port: 10254
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
port: 10254
healthCheckPath: "/healthz"
podAnnotations: {}
replicaCount: 1
minAvailable: 1
resources:
requests:
cpu: 100m
memory: 90Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 11
targetCPUUtilizationPercentage: 50
targetMemoryUtilizationPercentage: 50
autoscalingTemplate: []
enableMimalloc: true
customTemplate:
configMapName: ""
configMapKey: ""
service:
enabled: true
annotations: {}
labels: {}
externalIPs: []
loadBalancerSourceRanges: []
enableHttp: true
enableHttps: true
ports:
http: 80
https: 443
udp: 9012
targetPorts:
http: http
https: https
udp: 9012
type: LoadBalancer
nodePorts:
http: ""
https: ""
tcp: {}
udp: {}
internal:
enabled: false
annotations: {}
extraContainers: []
extraVolumeMounts: []
extraVolumes: []
extraInitContainers: []
admissionWebhooks:
annotations: {}
enabled: true
failurePolicy: Fail
port: 8443
certificate: "/usr/local/certificates/cert"
key: "/usr/local/certificates/key"
namespaceSelector: {}
objectSelector: {}
service:
annotations: {}
externalIPs: []
loadBalancerSourceRanges: []
servicePort: 443
type: ClusterIP
patch:
enabled: true
image:
repository: docker.io/jettech/kube-webhook-certgen
tag: v1.3.0
pullPolicy: IfNotPresent
priorityClassName: ""
podAnnotations: {}
nodeSelector: {}
tolerations: []
runAsUser: 2000
tcp: {}
udp: {}
因此,我还添加了configmap-
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-ingress-udp
namespace: ingress-nginx
data:
9012: "services/service-listener:9012"
结果就是入口服务-
现在,我试图在这里得到服务有两个问题-
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
iot-ingress-ingress-nginx-controller LoadBalancer 10.0.209.232 150.22.44.23 80:31694/TCP,443:30330/TCP 5h42m
UDP负载平衡创建configmap后,您必须创建一个服务,该服务将为入口公开这些端口
您可以通过以下官方指南进行操作,例如:
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
spec:
type: LoadBalancer
ports:
- name: proxied-tcp-9012
port: 9012
targetPort: 9012
protocol: UDP
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
输出将与此类似:
$kubectl get svc | grep ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
ingress-nginx LoadBalancer 10.0.0.237 12.345.67.89 9012:32291/UDP