kubernetes 如何在AWS-EKS中使用ClusterIP设置入口

oxalkeyp  于 2022-12-17  发布在  Kubernetes
关注(0)|答案(1)|浏览(280)

我是AWS EKS的新手,我想知道如何设置入口并启用TLS(使用免费服务,如lets-encrypt)。
我已经部署了一个EKS集群,并且有以下nginx清单示例。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service-loadbalancer
spec:
  type: LoadBalancer.  // <------ can't I use a ClusterIp and still have a LB priovisioned?
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80        
---
#05-ALB-Ingress-Basic.yml
# Annotations Reference:  https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/ingress/annotation/
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-usermgmt-restapp-service
  labels:
    app: usermgmt-restapp
  annotations:
    # Ingress Core Settings
    kubernetes.io/ingress.class: "alb"
    alb.ingress.kubernetes.io/scheme: internet-facing
    # Health Check Settings
    alb.ingress.kubernetes.io/healthcheck-protocol: HTTP 
    alb.ingress.kubernetes.io/healthcheck-port: traffic-port
    alb.ingress.kubernetes.io/healthcheck-path: /usermgmt/health-status
    alb.ingress.kubernetes.io/healthcheck-interval-seconds: '15'
    alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5'
    alb.ingress.kubernetes.io/success-codes: '200'
    alb.ingress.kubernetes.io/healthy-threshold-count: '2'
    alb.ingress.kubernetes.io/unhealthy-threshold-count: '2'
spec:
  rules:
  - http:
      paths:
      - path: /*
        pathType: Prefix
        backend:
          service:
            name: nginx-service-loadbalancer
            port:
              number: 80

当它创建LoadBalancer类型的服务时,它将继续创建classic负载平衡器。
我的问题是:
1.如何(自动)调配第7层应用程序负载平衡器而不是classic负载平衡器
1.除了使用LoadBalancer类型的服务,我是否可以使用ClusterIP服务并使用我的入口指向它,同时仍然创建一个自动负载均衡器?
谢谢大家!

46scxncf

46scxncf1#

1.如何(自动)调配第7层应用程序负载平衡器而不是传统负载平衡器
通过使用入口资源并指定kubernetes.io/ingress.class: "alb"
1.除了使用LoadBalancer类型的服务,我是否可以使用ClusterIP服务并使用我的入口指向它,同时仍然创建自动负载均衡器?
是的,当使用alb入口资源与注解alb.ingress.kubernetes.io/target-type: ip时,您可以使用clusterip服务。
因此请不要同时创建服务类型负载均衡器和入口资源。

相关问题