Konfigurasikan Ingress Kubernetes untuk node hybrid - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan Ingress Kubernetes untuk node hybrid

Topik ini menjelaskan cara mengonfigurasi Kubernetes Ingress untuk beban kerja yang berjalan di Amazon EKS Hybrid Nodes. Kubernetes Ingress mengekspos rute HTTP dan HTTPS dari luar klaster ke layanan di dalam klaster. Untuk memanfaatkan sumber daya Ingress, pengontrol Ingress Kubernetes diperlukan untuk menyiapkan infrastruktur jaringan dan komponen yang melayani lalu lintas jaringan.

AWS mendukung AWS Application Load Balancer (ALB) dan Cilium for Kubernetes Ingress untuk beban kerja yang berjalan pada EKS Hybrid Nodes. Keputusan untuk menggunakan ALB atau Cilium untuk Ingress didasarkan pada sumber lalu lintas aplikasi. Jika lalu lintas aplikasi berasal dari AWS Region, AWS rekomendasikan untuk menggunakan AWS ALB dan Load AWS Balancer Controller. Jika lalu lintas aplikasi berasal dari lingkungan lokal atau edge lokal, AWS rekomendasikan untuk menggunakan kemampuan Ingress bawaan Cilium, yang dapat digunakan dengan atau tanpa infrastruktur penyeimbang beban di lingkungan Anda.

Masuknya Node Hibrida EKS

AWS Application Load Balancer

Anda dapat menggunakan AWS Load Balancer Controller dan Application Load Balancer (ALB) dengan ip tipe target untuk beban kerja yang berjalan pada node hybrid. Saat menggunakan tipe targetip, ALB meneruskan lalu lintas langsung ke pod, melewati jalur jaringan Layer Service. Agar ALB dapat mencapai target IP pod pada node hibrid, CIDR pod lokal Anda harus dapat dirutekan di jaringan lokal Anda. Selain itu, AWS Load Balancer Controller menggunakan webhook dan memerlukan komunikasi langsung dari bidang kontrol EKS. Untuk informasi selengkapnya, lihat Konfigurasikan webhook untuk node hybrid.

Pertimbangan

Prasyarat

  • Cilium dipasang mengikuti instruksi di. Konfigurasikan CNI untuk node hybrid

  • Cilium BGP Control Plane diaktifkan mengikuti instruksi di. Konfigurasikan Cilium BGP untuk node hybrid Jika Anda tidak ingin menggunakan BGP, Anda harus menggunakan metode alternatif untuk membuat pod lokal CIDRs dapat dirutekan di jaringan lokal Anda. Jika Anda tidak membuat pod lokal Anda CIDRs dapat dirutekan, ALB tidak akan dapat mendaftar atau menghubungi target IP pod Anda.

  • Helm diinstal di lingkungan baris perintah Anda, lihat petunjuk Setup Helm untuk informasi selengkapnya.

  • eksctl diinstal di lingkungan baris perintah Anda, lihat petunjuk instalasi eksctl untuk informasi lebih lanjut.

Prosedur

  1. Unduh kebijakan IAM untuk AWS Load Balancer Controller yang memungkinkannya melakukan panggilan atas nama AWS APIs Anda.

    curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/refs/heads/main/docs/install/iam_policy.json
  2. Buat kebijakan IAM menggunakan kebijakan yang diunduh di langkah sebelumnya.

    aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
  3. Ganti nilai untuk nama cluster (CLUSTER_NAME), AWS Region (AWS_REGION), dan ID AWS akun (AWS_ACCOUNT_ID) dengan pengaturan Anda dan jalankan perintah berikut.

    eksctl create iamserviceaccount \ --cluster=CLUSTER_NAME \ --namespace=kube-system \ --name=aws-load-balancer-controller \ --attach-policy-arn=arn:aws:iam::AWS_ACCOUNT_ID:policy/AWSLoadBalancerControllerIAMPolicy \ --override-existing-serviceaccounts \ --region AWS_REGION \ --approve
  4. Tambahkan repositori bagan Helm eks-charts dan perbarui repositori Helm lokal Anda untuk memastikan bahwa Anda memiliki bagan terbaru.

    helm repo add eks https://aws.github.io/eks-charts
    helm repo update eks
  5. Instal AWS Load Balancer Controller. Ganti nilai untuk nama cluster (CLUSTER_NAME), AWS Region (AWS_REGION), VPC ID (VPC_ID), dan Load AWS Balancer Controller Helm chart version AWS_LBC_HELM_VERSION () dengan pengaturan Anda dan jalankan perintah berikut. Jika Anda menjalankan cluster mode campuran dengan node hybrid dan node di AWS Cloud, Anda dapat menjalankan AWS Load Balancer Controller pada node cloud mengikuti instruksi di. AWS Pengontrol Load Balancer

    • Anda dapat menemukan bagan Helm versi terbaru dengan menjalankanhelm search repo eks/aws-load-balancer-controller --versions.

      helm install aws-load-balancer-controller eks/aws-load-balancer-controller \ -n kube-system \ --version AWS_LBC_HELM_VERSION \ --set clusterName=CLUSTER_NAME \ --set region=AWS_REGION \ --set vpcId=VPC_ID \ --set serviceAccount.create=false \ --set serviceAccount.name=aws-load-balancer-controller
  6. Verifikasi bahwa AWS Load Balancer Controller berhasil diinstal.

    kubectl get -n kube-system deployment aws-load-balancer-controller
    NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-controller 2/2 2 2 84s
  7. Buat contoh aplikasi. Contoh di bawah ini menggunakan contoh aplikasi microservices Istio Bookinfo.

    kubectl apply -f https://raw.githubusercontent.com/istio/istio/refs/heads/master/samples/bookinfo/platform/kube/bookinfo.yaml
  8. Buat file bernama my-ingress-alb.yaml dengan isi berikut ini.

    apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress namespace: default annotations: alb.ingress.kubernetes.io/load-balancer-name: "my-ingress-alb" alb.ingress.kubernetes.io/target-type: "ip" alb.ingress.kubernetes.io/scheme: "internet-facing" alb.ingress.kubernetes.io/healthcheck-path: "/details/1" spec: ingressClassName: alb rules: - http: paths: - backend: service: name: details port: number: 9080 path: /details pathType: Prefix
  9. Terapkan konfigurasi Ingress ke cluster Anda.

    kubectl apply -f my-ingress-alb.yaml
  10. Penyediaan ALB untuk sumber daya Ingress Anda mungkin memakan waktu beberapa menit. Setelah ALB disediakan, sumber daya Ingress Anda akan memiliki alamat yang ditetapkan untuk itu yang sesuai dengan nama DNS dari penerapan ALB. Alamat akan memiliki format<alb-name>-<random-string>.<region>.elb.amazonaws.com.

    kubectl get ingress my-ingress
    NAME CLASS HOSTS ADDRESS PORTS AGE my-ingress alb * my-ingress-alb-<random-string>.<region>.elb.amazonaws.com 80 23m
  11. Akses Layanan menggunakan alamat ALB.

    curl -s http//my-ingress-alb-<random-string>.<region>.elb.amazonaws.com:80/details/1 | jq
    { "id": 1, "author": "William Shakespeare", "year": 1595, "type": "paperback", "pages": 200, "publisher": "PublisherA", "language": "English", "ISBN-10": "1234567890", "ISBN-13": "123-1234567890" "details": "This is the details page" }

Ikhtisar Cilium Ingress dan Cilium Gateway

Kemampuan Ingress Cilium dibangun ke dalam arsitektur Cilium dan dapat dikelola dengan Kubernetes Ingress API atau Gateway API. Jika Anda tidak memiliki sumber daya Ingress yang ada, AWS rekomendasikan untuk memulai dengan Gateway API, karena ini adalah cara yang lebih ekspresif dan fleksibel untuk mendefinisikan dan mengelola sumber daya jaringan Kubernetes. Kubernetes Gateway API bertujuan untuk menstandarisasi bagaimana sumber daya jaringan untuk Ingress, Load Balancing, dan Service Mesh didefinisikan dan dikelola dalam klaster Kubernetes.

Saat Anda mengaktifkan fitur Ingress atau Gateway Cilium, operator Cilium merekonsiliasi objek Ingress/Gateway di cluster dan proxy Envoy pada setiap node memproses lalu lintas jaringan Layer 7 (L7). Cilium tidak secara langsung menyediakan infrastruktur Ingress /Gateway seperti load balancer. Jika Anda berencana untuk menggunakan Cilium Ingress /Gateway dengan penyeimbang beban, Anda harus menggunakan perkakas penyeimbang beban, biasanya pengontrol Ingress atau Gateway, untuk menyebarkan dan mengelola infrastruktur penyeimbang beban.

Untuk lalu lintas Ingress /Gateway, Cilium menangani lalu lintas jaringan inti dan penegakan kebijakan L3/L4, dan proxy Utusan terintegrasi memproses lalu lintas jaringan L7. Dengan Cilium Ingress /Gateway, Envoy bertanggung jawab untuk menerapkan aturan routing L7, kebijakan, dan manipulasi permintaan, manajemen lalu lintas tingkat lanjut seperti pemisahan lalu lintas dan pencerminan, dan penghentian dan originasi TLS. Proksi Utusan Cilium digunakan sebagai DaemonSet (cilium-envoy) terpisah secara default, yang memungkinkan Utusan dan agen Cilium diperbarui, diskalakan, dan dikelola secara terpisah.

Untuk informasi lebih lanjut tentang cara kerja Cilium Ingress dan Cilium Gateway, lihat halaman Cilium Ingress dan Cilium Gateway di dokumentasi Cilium.

Perbandingan Cilium Ingress dan Gateway

Tabel di bawah ini merangkum fitur Cilium Ingress dan Cilium Gateway pada versi Cilium 1.17.x.

Fitur Ingress Gateway

Jenis layanan LoadBalancer

Ya

Ya

Jenis layanan NodePort

Ya

Tidak1

Jaringan host

Ya

Ya

Penyeimbang beban bersama

Ya

Ya

Penyeimbang beban khusus

Ya

Tidak 2

Kebijakan jaringan

Ya

Ya

Protokol

Lapisan 7 (HTTP (S), gRPC)

Lapisan 7 (HTTP (S), gRPC) 3

Passthrough TLS

Ya

Ya

Manajemen Lalu Lintas

Perutean jalur dan Host

Perutean jalur dan Host, pengalihan URL dan penulisan ulang, pemisahan lalu lintas, modifikasi header

1 Dukungan Cilium Gateway untuk NodePort layanan direncanakan untuk Cilium versi 1.18.x (#27273)

2 Dukungan Cilium Gateway untuk penyeimbang beban khusus (#25567)

3 Dukungan Cilium Gateway untuk TCP/UDP (#21929)

Instal Cilium Gateway

Pertimbangan

  • Cilium harus dikonfigurasi dengan nodePort.enabled set ke true seperti yang ditunjukkan pada contoh di bawah ini. Jika Anda menggunakan fitur pengganti kube-proxy Cilium, Anda tidak perlu menyetel ke. nodePort.enabled true

  • Cilium harus dikonfigurasi dengan envoy.enabled set ke true seperti yang ditunjukkan pada contoh di bawah ini.

  • Cilium Gateway dapat digunakan dalam load balancer (default) atau mode jaringan host.

  • Saat menggunakan Cilium Gateway dalam mode penyeimbang beban, service.beta.kubernetes.io/aws-load-balancer-type: "external" anotasi harus disetel pada resource Gateway untuk mencegah penyedia AWS cloud lama membuat Classic Load Balancer untuk Layanan jenis LoadBalancer yang dibuat Cilium untuk sumber daya Gateway.

  • Saat menggunakan Cilium Gateway dalam mode jaringan host, mode Service of type LoadBalancer dinonaktifkan. Mode jaringan host berguna untuk lingkungan yang tidak memiliki infrastruktur penyeimbang beban, lihat Jaringan host untuk informasi lebih lanjut.

Prasyarat

  1. Helm diinstal di lingkungan baris perintah Anda, lihat instruksi Setup Helm.

  2. Cilium dipasang mengikuti instruksi di. Konfigurasikan CNI untuk node hybrid

Prosedur

  1. Instal Kubernetes Gateway API Custom Resource Definitions (). CRDs

    kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/standard/gateway.networking.k8s.io_gateways.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/standard/gateway.networking.k8s.io_httproutes.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/standard/gateway.networking.k8s.io_referencegrants.yaml kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.1/config/crd/standard/gateway.networking.k8s.io_grpcroutes.yaml
  2. Buat file bernama cilium-gateway-values.yaml dengan konten berikut. Contoh di bawah ini mengonfigurasi Cilium Gateway untuk menggunakan mode load balancer default dan menggunakan proxy Envoy terpisah cilium-envoy DaemonSet yang dikonfigurasi agar berjalan hanya pada node hybrid.

    gatewayAPI: enabled: true # uncomment to use host network mode # hostNetwork: # enabled: true nodePort: enabled: true envoy: enabled: true affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid
  3. Terapkan file nilai Helm ke cluster Anda.

    helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --values cilium-gateway-values.yaml
  4. Konfirmasikan operator Cilium, agen, dan pod Envoy sedang berjalan.

    kubectl -n kube-system get pods --selector=app.kubernetes.io/part-of=cilium
    NAME READY STATUS RESTARTS AGE cilium-envoy-5pgnd 1/1 Running 0 6m31s cilium-envoy-6fhg4 1/1 Running 0 6m30s cilium-envoy-jskrk 1/1 Running 0 6m30s cilium-envoy-k2xtb 1/1 Running 0 6m31s cilium-envoy-w5s9j 1/1 Running 0 6m31s cilium-grwlc 1/1 Running 0 4m12s cilium-operator-68f7766967-5nnbl 1/1 Running 0 4m20s cilium-operator-68f7766967-7spfz 1/1 Running 0 4m20s cilium-pnxcv 1/1 Running 0 6m29s cilium-r7qkj 1/1 Running 0 4m12s cilium-wxhfn 1/1 Running 0 4m1s cilium-z7hlb 1/1 Running 0 6m30s

Konfigurasikan Cilium Gateway

Cilium Gateway diaktifkan pada objek Gateway dengan menyetel ke. gatewayClassName cilium Layanan yang dibuat Cilium untuk sumber daya Gateway dapat dikonfigurasi dengan bidang pada objek Gateway. Anotasi umum yang digunakan oleh pengontrol Gateway untuk mengonfigurasi infrastruktur penyeimbang beban dapat dikonfigurasi dengan bidang objek Gateway. infrastructure Saat menggunakan LoadBalancer IPAM Cilium (lihat contoh diJenis layanan LoadBalancer), alamat IP yang akan digunakan untuk Layanan tipe LoadBalancer dapat dikonfigurasi pada bidang objek Gateway. addresses Untuk informasi selengkapnya tentang konfigurasi Gateway, lihat spesifikasi Kubernetes Gateway API.

apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: my-gateway spec: gatewayClassName: cilium infrastructure: annotations: service.beta.kubernetes.io/... service.kuberentes.io/... addresses: - type: IPAddress value: <LoadBalancer IP address> listeners: ...

Spesifikasi Cilium dan Kubernetes Gateway mendukung, Gateway GatewayClass,,, dan sumber daya. HTTPRoute GRPCRoute ReferenceGrant

Menyebarkan Gerbang Cilium

  1. Buat contoh aplikasi. Contoh di bawah ini menggunakan contoh aplikasi microservices Istio Bookinfo.

    kubectl apply -f https://raw.githubusercontent.com/istio/istio/refs/heads/master/samples/bookinfo/platform/kube/bookinfo.yaml
  2. Konfirmasikan aplikasi berjalan dengan sukses.

    kubectl get pods
    NAME READY STATUS RESTARTS AGE details-v1-766844796b-9965p 1/1 Running 0 81s productpage-v1-54bb874995-jmc8j 1/1 Running 0 80s ratings-v1-5dc79b6bcd-smzxz 1/1 Running 0 80s reviews-v1-598b896c9d-vj7gb 1/1 Running 0 80s reviews-v2-556d6457d-xbt8v 1/1 Running 0 80s reviews-v3-564544b4d6-cpmvq 1/1 Running 0 80s
  3. Buat file bernama my-gateway.yaml dengan isi berikut ini. Contoh di bawah ini menggunakan service.beta.kubernetes.io/aws-load-balancer-type: "external" anotasi untuk mencegah penyedia AWS cloud lama membuat Classic Load Balancer untuk LoadBalancer jenis Layanan yang dibuat Cilium untuk resource Gateway.

    --- apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: my-gateway spec: gatewayClassName: cilium infrastructure: annotations: service.beta.kubernetes.io/aws-load-balancer-type: "external" listeners: - protocol: HTTP port: 80 name: web-gw allowedRoutes: namespaces: from: Same --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-app-1 spec: parentRefs: - name: my-gateway namespace: default rules: - matches: - path: type: PathPrefix value: /details backendRefs: - name: details port: 9080
  4. Terapkan sumber daya Gateway ke cluster Anda.

    kubectl apply -f my-gateway.yaml
  5. Konfirmasikan sumber daya Gateway dan Layanan terkait telah dibuat. Pada tahap ini, diharapkan bahwa ADDRESS bidang sumber daya Gateway tidak diisi dengan alamat IP atau nama host, dan bahwa Layanan tipe LoadBalancer untuk sumber daya Gateway juga tidak memiliki alamat IP atau nama host yang ditetapkan.

    kubectl get gateway my-gateway
    NAME CLASS ADDRESS PROGRAMMED AGE my-gateway cilium True 10s
    kubectl get svc cilium-gateway-my-gateway
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cilium-gateway-my-gateway LoadBalancer 172.16.227.247 <pending> 80:30912/TCP 24s
  6. Lanjutkan Jenis layanan LoadBalancer untuk mengonfigurasi sumber daya Gateway untuk menggunakan alamat IP yang dialokasikan oleh Cilium Load Balancer IPAM, dan Jenis layanan NodePort atau Jaringan host untuk mengonfigurasi sumber daya Gateway untuk menggunakan atau meng-host alamat jaringan. NodePort

Instal Cilium Ingress

Pertimbangan

  • Cilium harus dikonfigurasi dengan nodePort.enabled set ke true seperti yang ditunjukkan pada contoh di bawah ini. Jika Anda menggunakan fitur pengganti kube-proxy Cilium, Anda tidak perlu menyetel ke. nodePort.enabled true

  • Cilium harus dikonfigurasi dengan envoy.enabled set ke true seperti yang ditunjukkan pada contoh di bawah ini.

  • Dengan ingressController.loadbalancerMode disetel kededicated, Cilium membuat Layanan khusus untuk setiap sumber daya Ingress. Dengan ingressController.loadbalancerMode disetel keshared, Cilium membuat tipe Layanan bersama LoadBalancer untuk semua sumber daya Ingress di cluster. Saat menggunakan mode penyeimbang shared beban, pengaturan untuk Layanan bersama sepertilabels,, annotationstype, dan loadBalancerIP dikonfigurasi di ingressController.service bagian nilai Helm. Lihat referensi nilai Cilium Helm untuk informasi lebih lanjut.

  • Dengan ingressController.default disetel ketrue, Cilium dikonfigurasi sebagai pengontrol Ingress default untuk cluster dan akan membuat entri Ingress bahkan ketika tidak ingressClassName ditentukan pada sumber daya Ingress.

  • Cilium Ingress dapat digunakan dalam load balancer (default), port node, atau mode jaringan host. Ketika Cilium diinstal dalam mode jaringan host, Layanan tipe LoadBalancer dan Layanan NodePort mode tipe dinonaktifkan. Untuk informasi selengkapnya, lihat Jaringan host.

  • Selalu atur ingressController.service.annotations ke service.beta.kubernetes.io/aws-load-balancer-type: "external" dalam nilai Helm untuk mencegah penyedia AWS cloud lama membuat Classic Load Balancer untuk Layanan cilium-ingress default yang dibuat oleh bagan Cilium Helm.

Prasyarat

  1. Helm diinstal di lingkungan baris perintah Anda, lihat instruksi Setup Helm.

  2. Cilium dipasang mengikuti instruksi di. Konfigurasikan CNI untuk node hybrid

Prosedur

  1. Buat file bernama cilium-ingress-values.yaml dengan konten berikut. Contoh di bawah ini mengonfigurasi Cilium Ingress untuk menggunakan dedicated mode load balancer default dan menggunakan proxy Envoy terpisah cilium-envoy DaemonSet yang dikonfigurasi agar berjalan hanya pada node hybrid.

    ingressController: enabled: true loadbalancerMode: dedicated service: annotations: service.beta.kubernetes.io/aws-load-balancer-type: "external" nodePort: enabled: true envoy: enabled: true affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: eks.amazonaws.com/compute-type operator: In values: - hybrid
  2. Terapkan file nilai Helm ke cluster Anda.

    helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ --values cilium-ingress-values.yaml
  3. Konfirmasikan operator Cilium, agen, dan pod Envoy sedang berjalan.

    kubectl -n kube-system get pods --selector=app.kubernetes.io/part-of=cilium
    NAME READY STATUS RESTARTS AGE cilium-envoy-5pgnd 1/1 Running 0 6m31s cilium-envoy-6fhg4 1/1 Running 0 6m30s cilium-envoy-jskrk 1/1 Running 0 6m30s cilium-envoy-k2xtb 1/1 Running 0 6m31s cilium-envoy-w5s9j 1/1 Running 0 6m31s cilium-grwlc 1/1 Running 0 4m12s cilium-operator-68f7766967-5nnbl 1/1 Running 0 4m20s cilium-operator-68f7766967-7spfz 1/1 Running 0 4m20s cilium-pnxcv 1/1 Running 0 6m29s cilium-r7qkj 1/1 Running 0 4m12s cilium-wxhfn 1/1 Running 0 4m1s cilium-z7hlb 1/1 Running 0 6m30s

Konfigurasikan Cilium Ingress

Cilium Ingress diaktifkan pada objek Ingress dengan menyetel ke. ingressClassName cilium Layanan yang dibuat Cilium untuk sumber daya Ingress dapat dikonfigurasi dengan anotasi pada objek Ingress saat menggunakan mode penyeimbang dedicated beban dan dalam konfigurasi Cilium/Helm saat menggunakan mode penyeimbang beban. shared Anotasi ini biasanya digunakan oleh pengontrol Ingress untuk mengonfigurasi infrastruktur penyeimbang beban, atau atribut lain dari Layanan seperti jenis layanan, mode penyeimbang beban, port, dan passthrough TLS. Anotasi kunci dijelaskan di bawah ini. Untuk daftar lengkap anotasi yang didukung, lihat anotasi Cilium Ingress di dokumentasi Cilium.

Anotasi Deskripsi

ingress.cilium.io/loadbalancer-mode

dedicated: Jenis Layanan Khusus LoadBalancer untuk setiap sumber daya Ingress (default).

shared: Jenis Layanan Tunggal LoadBalancer untuk semua sumber daya Ingress.

ingress.cilium.io/service-type

LoadBalancer: Layanan akan bertipe LoadBalancer (default)

NodePort: Layanan akan bertipe NodePort.

service.beta.kubernetes.io/aws-load-balancer-type

"external": Mencegah penyedia AWS cloud lama dari penyediaan Classic Load Balancer untuk Layanan jenis. LoadBalancer

lbipam.cilium.io/ips

Daftar alamat IP yang akan dialokasikan dari LoadBalancer Cilium IPAM

Spesifikasi Cilium dan Kubernetes Ingress mendukung aturan pencocokan Exact, Prefix, dan spesifik implementasi untuk jalur Ingress. Cilium mendukung regex sebagai aturan pencocokan khusus implementasinya. Untuk informasi selengkapnya, lihat Ingress path types and precedence and Path types example in the Cilium documentation, dan contoh di bagian halaman iniMenyebarkan Cilium Ingress.

Contoh objek Cilium Ingress ditunjukkan di bawah ini.

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress annotations: service.beta.kuberentes.io/... service.kuberentes.io/... spec: ingressClassName: cilium rules: ...

Menyebarkan Cilium Ingress

  1. Buat contoh aplikasi. Contoh di bawah ini menggunakan contoh aplikasi microservices Istio Bookinfo.

    kubectl apply -f https://raw.githubusercontent.com/istio/istio/refs/heads/master/samples/bookinfo/platform/kube/bookinfo.yaml
  2. Konfirmasikan aplikasi berjalan dengan sukses.

    kubectl get pods
    NAME READY STATUS RESTARTS AGE details-v1-766844796b-9965p 1/1 Running 0 81s productpage-v1-54bb874995-jmc8j 1/1 Running 0 80s ratings-v1-5dc79b6bcd-smzxz 1/1 Running 0 80s reviews-v1-598b896c9d-vj7gb 1/1 Running 0 80s reviews-v2-556d6457d-xbt8v 1/1 Running 0 80s reviews-v3-564544b4d6-cpmvq 1/1 Running 0 80s
  3. Buat file bernama my-ingress.yaml dengan isi berikut ini. Contoh di bawah ini menggunakan service.beta.kubernetes.io/aws-load-balancer-type: "external" anotasi untuk mencegah penyedia AWS cloud lama membuat Classic Load Balancer untuk LoadBalancer jenis Layanan yang dibuat Cilium untuk resource Ingress.

    apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress namespace: default annotations: service.beta.kubernetes.io/aws-load-balancer-type: "external" spec: ingressClassName: cilium rules: - http: paths: - backend: service: name: details port: number: 9080 path: /details pathType: Prefix
  4. Terapkan sumber daya Ingress ke cluster Anda.

    kubectl apply -f my-ingress.yaml
  5. Konfirmasikan sumber daya Ingress dan Layanan terkait telah dibuat. Pada tahap ini, diharapkan bahwa ADDRESS bidang sumber daya Ingress tidak diisi dengan alamat IP atau nama host, dan bahwa Layanan tipe bersama atau khusus LoadBalancer untuk sumber daya Ingress juga tidak memiliki alamat IP atau nama host yang ditetapkan.

    kubectl get ingress my-ingress
    NAME CLASS HOSTS ADDRESS PORTS AGE my-ingress cilium * 80 8s

    Untuk mode penyeimbang beban shared

    kubectl -n kube-system get svc cilium-ingress
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cilium-ingress LoadBalancer 172.16.217.48 <pending> 80:32359/TCP,443:31090/TCP 10m

    Untuk mode penyeimbang beban dedicated

    kubectl -n default get svc cilium-ingress-my-ingress
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cilium-ingress-my-ingress LoadBalancer 172.16.193.15 <pending> 80:32088/TCP,443:30332/TCP 25s
  6. Lanjutkan Jenis layanan LoadBalancer untuk mengonfigurasi sumber daya Ingress untuk menggunakan alamat IP yang dialokasikan oleh Cilium Load Balancer IPAM, Jenis layanan NodePort dan Jaringan host atau untuk mengonfigurasi sumber daya Ingress untuk menggunakan atau meng-host alamat jaringan. NodePort

Jenis layanan LoadBalancer

Infrastruktur penyeimbang beban yang ada

Secara default, untuk Cilium Ingress dan Cilium Gateway, Cilium membuat tipe Layanan Kubernetes untuk resource Ingress/Gateway. LoadBalancer Atribut Layanan yang dibuat Cilium dapat dikonfigurasi melalui sumber daya Ingress dan Gateway. Saat Anda membuat sumber daya Ingress atau Gateway, alamat IP atau nama host yang terbuka secara eksternal untuk Ingress atau Gateway dialokasikan dari infrastruktur penyeimbang beban, yang biasanya disediakan oleh pengontrol Ingress atau Gateway.

Banyak pengontrol Ingress dan Gateway menggunakan anotasi untuk mendeteksi dan mengkonfigurasi infrastruktur penyeimbang beban. Anotasi untuk pengontrol Ingress dan Gateway ini dikonfigurasi pada sumber daya Ingress atau Gateway seperti yang ditunjukkan pada contoh sebelumnya di atas. Referensikan dokumentasi Ingress atau Gateway controller Anda untuk anotasi yang didukungnya dan lihat dokumentasi Kubernetes Ingress dan dokumentasi Kubernetes Gateway untuk daftar kontroler populer.

penting

Cilium Ingress dan Gateway tidak dapat digunakan dengan Load Balancer Controller dan AWS Network AWS Load Balancers () dengan EKS Hybrid Nodes. NLBs Mencoba untuk menggunakan ini bersama-sama menghasilkan target yang tidak terdaftar, karena NLB mencoba untuk langsung terhubung ke Pod IPs yang mendukung Service tipe LoadBalancer ketika NLB diatur ke ip (persyaratan untuk menggunakan NLB dengan beban target-type kerja yang berjalan pada EKS Hybrid Nodes).

Tidak ada infrastruktur penyeimbang beban

Jika Anda tidak memiliki infrastruktur penyeimbang beban dan pengontrol Ingress/Gateway yang sesuai di lingkungan Anda, sumber daya Ingress /Gateway dan jenis Layanan yang sesuai LoadBalancer dapat dikonfigurasi untuk menggunakan alamat IP yang dialokasikan oleh manajemen alamat IP Load Balancer Cilium (LB IPAM). Cilium LB IPAM dapat dikonfigurasi dengan rentang alamat IP yang diketahui dari lingkungan lokal Anda, dan dapat menggunakan dukungan Border Gateway Protocol (BGP) bawaan Cilium atau pengumuman L2 untuk mengiklankan alamat IP ke jaringan lokal Anda. LoadBalancer

Contoh di bawah ini menunjukkan cara mengonfigurasi LB IPAM Cilium dengan alamat IP yang akan digunakan untuk sumber daya Ingress/Gateway Anda, dan cara mengonfigurasi Cilium BGP Control Plane untuk mengiklankan alamat IP dengan jaringan lokal. LoadBalancer Fitur LB IPAM Cilium diaktifkan secara default, tetapi tidak diaktifkan sampai sumber daya dibuat. CiliumLoadBalancerIPPool

Prasyarat

Prosedur

  1. Secara opsional menambal sumber daya Ingress atau Gateway untuk meminta alamat IP tertentu yang akan digunakan untuk jenis Layanan. LoadBalancer Jika Anda tidak meminta alamat IP tertentu, Cilium akan mengalokasikan alamat IP dari rentang alamat IP yang dikonfigurasi dalam CiliumLoadBalancerIPPool sumber daya pada langkah berikutnya. Pada perintah di bawah ini, ganti LB_IP_ADDRESS dengan alamat IP untuk meminta Layanan tipe LoadBalancer.

    Gerbang

    kubectl patch gateway -n default my-gateway --type=merge -p '{ "spec": { "addresses": [{"type": "IPAddress", "value": "LB_IP_ADDRESS"}] } }'

    Masuknya

    kubectl patch ingress my-ingress --type=merge -p '{ "metadata": {"annotations": {"lbipam.cilium.io/ips": "LB_IP_ADDRESS"}} }'
  2. Buat file bernama cilium-lbip-pool-ingress.yaml dengan CiliumLoadBalancerIPPool sumber daya untuk mengonfigurasi rentang alamat IP Load Balancer untuk sumber daya Ingress /Gateway Anda.

    • Jika Anda menggunakan Cilium Ingress, Cilium secara otomatis menerapkan cilium.io/ingress: "true" label ke Layanan yang dibuatnya untuk sumber daya Ingress. Anda dapat menggunakan label ini di serviceSelector bidang definisi CiliumLoadBalancerIPPool sumber daya untuk memilih Layanan yang memenuhi syarat untuk LB IPAM.

    • Jika Anda menggunakan Cilium Gateway, Anda dapat menggunakan gateway.networking.k8s.io/gateway-name label di serviceSelector bidang definisi CiliumLoadBalancerIPPool sumber daya untuk memilih sumber daya Gateway yang memenuhi syarat untuk LB IPAM.

    • Ganti LB_IP_CIDR dengan rentang alamat IP yang akan digunakan untuk alamat IP Load Balancer. Untuk memilih satu alamat IP, gunakan /32 CIDR. Untuk informasi selengkapnya, lihat Manajemen Alamat LoadBalancer IP di dokumentasi Cilium.

      apiVersion: cilium.io/v2alpha1 kind: CiliumLoadBalancerIPPool metadata: name: bookinfo-pool spec: blocks: - cidr: "LB_IP_CIDR" serviceSelector: # if using Cilium Gateway matchExpressions: - { key: gateway.networking.k8s.io/gateway-name, operator: In, values: [ my-gateway ] } # if using Cilium Ingress matchLabels: cilium.io/ingress: "true"
  3. Terapkan CiliumLoadBalancerIPPool sumber daya ke cluster Anda.

    kubectl apply -f cilium-lbip-pool-ingress.yaml
  4. Konfirmasikan alamat IP dialokasikan dari Cilium LB IPAM untuk sumber daya Ingress /Gateway.

    Gerbang

    kubectl get gateway my-gateway
    NAME CLASS ADDRESS PROGRAMMED AGE my-gateway cilium LB_IP_ADDRESS True 6m41s

    Masuknya

    kubectl get ingress my-ingress
    NAME CLASS HOSTS ADDRESS PORTS AGE my-ingress cilium * LB_IP_ADDRESS 80 10m
  5. Buat file bernama cilium-bgp-advertisement-ingress.yaml dengan CiliumBGPAdvertisement sumber daya untuk mengiklankan alamat LoadBalancer IP untuk sumber daya Ingress /Gateway. Jika Anda tidak menggunakan Cilium BGP, Anda dapat melewati langkah ini. Alamat LoadBalancer IP yang digunakan untuk sumber daya Ingress /Gateway Anda harus dapat dirutekan di jaringan lokal agar Anda dapat melakukan kueri layanan pada langkah berikutnya.

    apiVersion: cilium.io/v2alpha1 kind: CiliumBGPAdvertisement metadata: name: bgp-advertisement-lb-ip labels: advertise: bgp spec: advertisements: - advertisementType: "Service" service: addresses: - LoadBalancerIP selector: # if using Cilium Gateway matchExpressions: - { key: gateway.networking.k8s.io/gateway-name, operator: In, values: [ my-gateway ] } # if using Cilium Ingress matchLabels: cilium.io/ingress: "true"
  6. Terapkan CiliumBGPAdvertisement sumber daya ke cluster Anda.

    kubectl apply -f cilium-bgp-advertisement-ingress.yaml
  7. Akses layanan menggunakan alamat IP yang dialokasikan dari Cilium LB IPAM.

    curl -s http://LB_IP_ADDRESS:80/details/1 | jq
    { "id": 1, "author": "William Shakespeare", "year": 1595, "type": "paperback", "pages": 200, "publisher": "PublisherA", "language": "English", "ISBN-10": "1234567890", "ISBN-13": "123-1234567890" }

Jenis layanan NodePort

Jika Anda tidak memiliki infrastruktur penyeimbang beban dan pengontrol Ingress yang sesuai di lingkungan Anda, atau jika Anda mengelola sendiri infrastruktur penyeimbang beban atau menggunakan penyeimbang beban berbasis DNS, Anda dapat mengonfigurasi Cilium Ingress untuk membuat Layanan tipe untuk sumber daya Ingress. NodePort Saat menggunakan NodePort dengan Cilium Ingress, Layanan tipe NodePort diekspos pada port pada setiap node dalam rentang port 30000-32767. Dalam mode ini, ketika lalu lintas mencapai node mana pun di cluster NodePort, lalu diteruskan ke pod yang mendukung layanan, yang mungkin berada di node yang sama atau node yang berbeda.

Prasyarat

Prosedur

  1. Menambal sumber daya Ingress yang ada my-ingress untuk mengubahnya dari tipe Layanan LoadBalancer menjadi NodePort.

    kubectl patch ingress my-ingress --type=merge -p '{ "metadata": {"annotations": {"ingress.cilium.io/service-type": "NodePort"}} }'

    Jika Anda belum membuat sumber daya Ingress, Anda dapat membuatnya dengan menerapkan definisi Ingress berikut ke cluster Anda. Catatan, definisi Ingress di bawah ini menggunakan contoh aplikasi Istio Bookinfo yang dijelaskan dalam. Menyebarkan Cilium Ingress

    apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress namespace: default annotations: service.beta.kubernetes.io/aws-load-balancer-type: "external" "ingress.cilium.io/service-type": "NodePort" spec: ingressClassName: cilium rules: - http: paths: - backend: service: name: details port: number: 9080 path: /details pathType: Prefix
  2. Konfirmasikan Layanan untuk sumber daya Ingress telah diperbarui untuk menggunakan jenis NodePort Layanan. Perhatikan Port untuk protokol HTTP di output. Dalam contoh di bawah ini port HTTP ini32353, yang akan digunakan dalam langkah berikutnya untuk query Layanan. Manfaat menggunakan Cilium Ingress with Service of type NodePort adalah Anda dapat menerapkan routing berbasis jalur dan host, serta kebijakan jaringan untuk lalu lintas Ingress, yang tidak dapat Anda lakukan untuk jenis Layanan standar tanpa Ingress. NodePort

    kubectl -n default get svc cilium-ingress-my-ingress
    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cilium-ingress-my-ingress NodePort 172.16.47.153 <none> 80:32353/TCP,443:30253/TCP 27m
  3. Dapatkan alamat IP node Anda di cluster Anda.

    kubectl get nodes -o wide
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME mi-026d6a261e355fba7 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.150 <none> Ubuntu 22.04.5 LTS 5.15.0-142-generic containerd://1.7.27 mi-082f73826a163626e Ready <none> 23h v1.32.3-eks-473151a 10.80.146.32 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-09183e8a3d755abf6 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.33 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0d78d815980ed202d Ready <none> 23h v1.32.3-eks-473151a 10.80.146.97 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0daa253999fe92daa Ready <none> 23h v1.32.3-eks-473151a 10.80.146.100 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27
  4. Akses Layanan jenis NodePort menggunakan alamat IP node Anda dan yang NodePort ditangkap di atas. Pada contoh di bawah ini alamat IP node yang digunakan adalah 10.80.146.32 dan NodePort is32353. Ganti ini dengan nilai-nilai untuk lingkungan Anda.

    curl -s http://10.80.146.32:32353/details/1 | jq
    { "id": 1, "author": "William Shakespeare", "year": 1595, "type": "paperback", "pages": 200, "publisher": "PublisherA", "language": "English", "ISBN-10": "1234567890", "ISBN-13": "123-1234567890" }

Jaringan host

Mirip dengan jenis Layanan NodePort, jika Anda tidak memiliki infrastruktur penyeimbang beban dan pengontrol Ingress atau Gateway, atau jika Anda mengelola sendiri penyeimbang beban Anda dengan penyeimbang beban eksternal, Anda dapat mengonfigurasi Cilium Ingress dan Cilium Gateway untuk mengekspos sumber daya Ingress dan Gateway langsung di jaringan host. Ketika mode jaringan host diaktifkan untuk sumber daya Ingress atau Gateway, Layanan jenis LoadBalancer dan NodePort mode dinonaktifkan secara otomatis, mode jaringan host saling eksklusif dengan mode alternatif ini untuk setiap sumber daya Ingress atau Gateway. Dibandingkan dengan mode Service of type, NodePort mode jaringan host menawarkan fleksibilitas tambahan untuk rentang port yang dapat digunakan (tidak terbatas pada NodePort rentang 30000-32767) dan Anda dapat mengonfigurasi subset node tempat proxy Envoy berjalan di jaringan host.

Prasyarat

Prosedur

Gateway

  1. Buat file dengan nama cilium-gateway-host-network.yaml dengan konten berikut ini.

    gatewayAPI: enabled: true hostNetwork: enabled: true # uncomment to restrict nodes where Envoy proxies run on the host network # nodes: # matchLabels: # role: gateway
  2. Terapkan konfigurasi Cilium Gateway jaringan host ke cluster Anda.

    helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ -f cilium-gateway-host-network.yaml

    Jika Anda belum membuat sumber daya Gateway, Anda dapat membuatnya dengan menerapkan definisi Gateway berikut ke klaster Anda. Definisi Gateway di bawah ini menggunakan contoh aplikasi Istio Bookinfo yang dijelaskan dalam. Menyebarkan Gerbang Cilium Pada contoh di bawah ini, resource Gateway dikonfigurasi untuk menggunakan 8111 port untuk pendengar HTTP, yang merupakan port pendengar bersama untuk proxy Envoy yang berjalan di jaringan host. Jika Anda menggunakan port istimewa (lebih rendah dari 1023) untuk sumber daya Gateway, rujuk dokumentasi Cilium untuk instruksi.

    --- apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: my-gateway spec: gatewayClassName: cilium listeners: - protocol: HTTP port: 8111 name: web-gw allowedRoutes: namespaces: from: Same --- apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-app-1 spec: parentRefs: - name: my-gateway namespace: default rules: - matches: - path: type: PathPrefix value: /details backendRefs: - name: details port: 9080

    Anda dapat mengamati Konfigurasi Utusan Cilium yang diterapkan dengan perintah berikut.

    kubectl get cec cilium-gateway-my-gateway -o yaml

    Anda bisa mendapatkan port pendengar Utusan untuk cilium-gateway-my-gateway Layanan dengan perintah berikut. Dalam contoh ini, port pendengar bersama adalah8111.

    kubectl get cec cilium-gateway-my-gateway -o jsonpath={.spec.services[0].ports[0]}
  3. Dapatkan alamat IP node Anda di cluster Anda.

    kubectl get nodes -o wide
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME mi-026d6a261e355fba7 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.150 <none> Ubuntu 22.04.5 LTS 5.15.0-142-generic containerd://1.7.27 mi-082f73826a163626e Ready <none> 23h v1.32.3-eks-473151a 10.80.146.32 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-09183e8a3d755abf6 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.33 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0d78d815980ed202d Ready <none> 23h v1.32.3-eks-473151a 10.80.146.97 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0daa253999fe92daa Ready <none> 23h v1.32.3-eks-473151a 10.80.146.100 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27
  4. Akses Layanan menggunakan alamat IP node Anda dan port listener untuk cilium-gateway-my-gateway sumber daya. Pada contoh di bawah ini alamat IP node yang digunakan adalah 10.80.146.32 dan port listener adalah8111. Ganti ini dengan nilai-nilai untuk lingkungan Anda.

    curl -s http://10.80.146.32:8111/details/1 | jq
    { "id": 1, "author": "William Shakespeare", "year": 1595, "type": "paperback", "pages": 200, "publisher": "PublisherA", "language": "English", "ISBN-10": "1234567890", "ISBN-13": "123-1234567890" }

Ingress

Karena masalah Cilium hulu (#34028), Cilium Ingress dalam mode jaringan host memerlukan penggunaanloadbalancerMode: shared, yang membuat satu Layanan tipe ClusterIP untuk semua sumber daya Ingress di cluster. Jika Anda menggunakan port istimewa (lebih rendah dari 1023) untuk sumber daya Ingress, rujuk dokumentasi Cilium untuk instruksi.

  1. Buat file dengan nama cilium-ingress-host-network.yaml dengan konten berikut ini.

    ingressController: enabled: true loadbalancerMode: shared # This is a workaround for the upstream Cilium issue service: externalTrafficPolicy: null type: ClusterIP hostNetwork: enabled: true # ensure the port does not conflict with other services on the node sharedListenerPort: 8111 # uncomment to restrict nodes where Envoy proxies run on the host network # nodes: # matchLabels: # role: ingress
  2. Terapkan konfigurasi Cilium Ingress jaringan host ke cluster Anda.

    helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \ --namespace kube-system \ --reuse-values \ --set operator.rollOutPods=true \ -f cilium-ingress-host-network.yaml

    Jika Anda belum membuat sumber daya Ingress, Anda dapat membuatnya dengan menerapkan definisi Ingress berikut ke cluster Anda. Definisi Ingress di bawah ini menggunakan contoh aplikasi Istio Bookinfo yang dijelaskan dalam. Menyebarkan Cilium Ingress

    apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: my-ingress namespace: default spec: ingressClassName: cilium rules: - http: paths: - backend: service: name: details port: number: 9080 path: /details pathType: Prefix

    Anda dapat mengamati Konfigurasi Utusan Cilium yang diterapkan dengan perintah berikut.

    kubectl get cec -n kube-system cilium-ingress -o yaml

    Anda bisa mendapatkan port pendengar Utusan untuk cilium-ingress Layanan dengan perintah berikut. Dalam contoh ini, port pendengar bersama adalah8111.

    kubectl get cec -n kube-system cilium-ingress -o jsonpath={.spec.services[0].ports[0]}
  3. Dapatkan alamat IP node Anda di cluster Anda.

    kubectl get nodes -o wide
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME mi-026d6a261e355fba7 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.150 <none> Ubuntu 22.04.5 LTS 5.15.0-142-generic containerd://1.7.27 mi-082f73826a163626e Ready <none> 23h v1.32.3-eks-473151a 10.80.146.32 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-09183e8a3d755abf6 Ready <none> 23h v1.32.3-eks-473151a 10.80.146.33 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0d78d815980ed202d Ready <none> 23h v1.32.3-eks-473151a 10.80.146.97 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27 mi-0daa253999fe92daa Ready <none> 23h v1.32.3-eks-473151a 10.80.146.100 <none> Ubuntu 22.04.4 LTS 5.15.0-142-generic containerd://1.7.27
  4. Akses Layanan menggunakan alamat IP node Anda dan sharedListenerPort untuk cilium-ingress sumber daya. Pada contoh di bawah ini alamat IP node yang digunakan adalah 10.80.146.32 dan port listener adalah8111. Ganti ini dengan nilai-nilai untuk lingkungan Anda.

    curl -s http://10.80.146.32:8111/details/1 | jq
    { "id": 1, "author": "William Shakespeare", "year": 1595, "type": "paperback", "pages": 200, "publisher": "PublisherA", "language": "English", "ISBN-10": "1234567890", "ISBN-13": "123-1234567890" }