Pengontrol ALB Ingress memanggil API Alibaba Cloud—termasuk Application Load Balancer (ALB), Resource Access Management (RAM), VPC, dan ECS—untuk membuat serta mengelola resource load balancer atas nama kluster Anda. Di kluster khusus ACK, pengontrol berjalan pada node pekerja yang secara default tidak memiliki izin API cloud. Topik ini menjelaskan cara memberikan izin yang diperlukan agar pengontrol dapat mengelola resource ALB.
Langkah ini hanya berlaku untuk kluster khusus ACK. Untuk kluster ACK yang dikelola dan kluster ACK Serverless, pengontrol ALB Ingress sudah memiliki izin yang diperlukan sehingga tidak memerlukan konfigurasi tambahan.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Kluster khusus ACK
-
Komponen pengontrol ALB Ingress yang telah diinstal di kluster
Langkah 1: Buat kebijakan RAM kustom
-
Masuk ke Konsol RAM sebagai pengguna RAM dengan hak administratif.
-
Di panel navigasi kiri, pilih Permissions > Policies.
-
Di halaman Policies, klik Create Policy.

-
Di halaman Create Policy, klik tab JSON.

-
Ganti konten default dengan dokumen kebijakan berikut, lalu klik OK.
CatatanPisahkan beberapa pernyataan kebijakan dengan koma (,).
{ "Version": "1", "Statement": [ { "Action": [ "alb:EnableLoadBalancerIpv6Internet", "alb:DisableLoadBalancerIpv6Internet", "alb:CreateAcl", "alb:DeleteAcl", "alb:ListAcls", "alb:ListAclRelations", "alb:AddEntriesToAcl", "alb:AssociateAclsWithListener", "alb:ListAclEntries", "alb:RemoveEntriesFromAcl", "alb:DissociateAclsFromListener", "alb:TagResources", "alb:UnTagResources", "alb:ListServerGroups", "alb:ListServerGroupServers", "alb:AddServersToServerGroup", "alb:RemoveServersFromServerGroup", "alb:ReplaceServersInServerGroup", "alb:CreateLoadBalancer", "alb:DeleteLoadBalancer", "alb:UpdateLoadBalancerAttribute", "alb:UpdateLoadBalancerEdition", "alb:EnableLoadBalancerAccessLog", "alb:DisableLoadBalancerAccessLog", "alb:EnableDeletionProtection", "alb:DisableDeletionProtection", "alb:ListLoadBalancers", "alb:GetLoadBalancerAttribute", "alb:ListListeners", "alb:CreateListener", "alb:GetListenerAttribute", "alb:UpdateListenerAttribute", "alb:ListListenerCertificates", "alb:AssociateAdditionalCertificatesWithListener", "alb:DissociateAdditionalCertificatesFromListener", "alb:DeleteListener", "alb:CreateRule", "alb:DeleteRule", "alb:UpdateRuleAttribute", "alb:CreateRules", "alb:UpdateRulesAttribute", "alb:DeleteRules", "alb:ListRules", "alb:UpdateListenerLogConfig", "alb:CreateServerGroup", "alb:DeleteServerGroup", "alb:UpdateServerGroupAttribute", "alb:UpdateLoadBalancerAddressTypeConfig", "alb:AttachCommonBandwidthPackageToLoadBalancer", "alb:DetachCommonBandwidthPackageFromLoadBalancer", "alb:UpdateServerGroupServersAttribute", "alb:MoveResourceGroup", "alb:DescribeZones", "alb:ListAScripts", "alb:CreateAScripts", "alb:UpdateAScripts", "alb:DeleteAScripts" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "alb.aliyuncs.com", "audit.log.aliyuncs.com", "nlb.aliyuncs.com", "logdelivery.alb.aliyuncs.com" ] } } }, { "Action": [ "log:GetProductDataCollection", "log:OpenProductDataCollection", "log:CloseProductDataCollection" ], "Resource": "acs:log:*:*:project/*/logstore/alb_*", "Effect": "Allow" }, { "Action": [ "yundun-cert:DescribeSSLCertificateList", "yundun-cert:DescribeSSLCertificatePublicKeyDetail", "yundun-cert:CreateSSLCertificateWithName", "yundun-cert:DeleteSSLCertificate" ], "Resource": "*", "Effect": "Allow" }, { "Action": "vpc:DescribeVSwitches", "Resource": "*", "Effect": "Allow" }, { "Action": "ecs:DescribeNetworkInterfaces", "Resource": "*", "Effect": "Allow" } ] } -
Di kotak dialog Create Policy, masukkan Policy Name dan Description, lalu klik OK.
Langkah 2: Sambungkan kebijakan ke role RAM node pekerja
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda, lalu klik tab Basic Information.
-
Di tab Basic Information, klik tautan di sebelah kanan Worker RAM Role untuk membuka Konsol RAM.
-
Di tab Permissions, klik Grant Permission. Di panel Grant Permission, cari dan pilih kebijakan kustom yang telah Anda buat di Langkah 1.
-
Klik Grant Permissions, lalu klik Close.
Langkah 3: Verifikasi role RAM instans
-
Di panel navigasi kiri halaman detail kluster, pilih Nodes > Nodes.
-
Di halaman Nodes, klik ID instans dari node pekerja — misalnya,
i-2ze5d2qi9iy90pzb****. -
Di halaman detail instans, klik tab Instance Details. Di bagian Other Information, periksa apakah terdapat role RAM yang ditampilkan di samping RAM Role. Jika tidak ada role RAM yang tersambung, sambungkan satu ke instans ECS tersebut. Untuk informasi lebih lanjut, lihat Lepaskan atau ubah instance RAM role.
Langkah 4: Mulai ulang Pod ALB Ingress controller
Lakukan langkah ini selama jam sepi.
Mulai ulang pod alb-ingress-controller agar menerapkan izin baru.
-
Dapatkan nama pod.
kubectl -n kube-system get pod | grep alb-ingress-controllerOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE alb-ingress-controller-*** 1/1 Running 0 60s -
Hapus pod tersebut. Ganti
alb-ingress-controller-***dengan nama dari langkah sebelumnya.kubectl -n kube-system delete pod alb-ingress-controller-***Output yang diharapkan:
pod "alb-ingress-controller-***" deleted -
Setelah beberapa menit, pastikan pod tersebut telah berjalan kembali.
kubectl -n kube-system get podOutput yang diharapkan:
NAME READY STATUS RESTARTS AGE alb-ingress-controller-***2 1/1 Running 0 60sStatus Running menunjukkan bahwa pengontrol berfungsi dengan benar menggunakan izin baru.
Langkah selanjutnya
Untuk mengarahkan traffic ke layanan di kluster Anda menggunakan ALB Ingress, lihat Ekspos layanan dengan ALB Ingress.