Anda dapat menggunakan fitur akselerasi P2P di kluster Alibaba Cloud Container Service for Kubernetes (ACK) untuk mempercepat pengambilan gambar kontainer dan mengurangi waktu penerapan aplikasi. Topik ini menjelaskan cara menginstal agen akselerasi P2P di kluster ACK.
Prasyarat
Instans ACR Enterprise Edition jenis Standard atau Advanced Edition telah dibuat.
Kluster ACK yang dikelola atau klaster khusus, atau kluster ACK Serverless Pro telah dibuat.
Anda telah mengonfigurasi kontrol akses jaringan untuk instans ACR Enterprise Edition agar mengizinkan akses dari VPC kluster ACK Anda. Untuk informasi selengkapnya, lihat Konfigurasikan kontrol akses untuk VPC.
Batasan penggunaan gambar
Jika Anda menggunakan gambar kontainer yang sangat besar, seperti gambar untuk model besar, Anda harus memenuhi salah satu persyaratan berikut untuk memastikan pengambilan P2P yang efisien: node dalam kelompok node memiliki data disk bertipe AutoPL, atau node memiliki setidaknya 8 GB memori bebas untuk caching data P2P.
Langkah 1: Aktifkan akselerasi P2P
Masuk ke Konsol Container Registry.
Di bilah navigasi atas, pilih wilayah.
Di panel navigasi kiri, klik Instances.
Pada halaman Instances, klik instans Enterprise Edition yang ingin Anda kelola.
Pada halaman Overview, catat Instance ID. Lalu, pada bagian Component Settings, aktifkan P2P Acceleration dan klik OK di kotak dialog konfirmasi.
PeringatanSebelum menonaktifkan agen akselerasi P2P, Anda harus berhenti menggunakan fitur P2P dan menguninstall agen dari semua kluster tempat agen tersebut terinstal. Untuk mengaktifkan kembali fitur ini, Anda harus menginstal ulang agen tersebut.

Langkah 2: Instal agen P2P
Anda dapat menggunakan salah satu metode berikut untuk memberikan izin kepada agen akselerasi P2P agar mengakses instans ACR Enterprise Edition Anda.
Gunakan peran RAM worker untuk otorisasi dan instalasi.
Batasan: Instans ACR Enterprise Edition dan kluster ACK harus berada dalam Akun Alibaba Cloud yang sama.
Gunakan AccessKey ID dan AccessKey Secret dari Pengguna RAM untuk otorisasi dan instalasi.
Gunakan RAM Roles for Service Accounts (RRSA) untuk otorisasi dan instalasi.
Batasan: Metode ini hanya didukung untuk kluster ACK yang dikelola yang menjalankan Kubernetes versi 1.22 atau lebih baru.
Gunakan peran RAM worker
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Cluster Information.
Pada halaman Cluster Information, klik tab Basic Information. Di bagian Cluster Resources, salin nama worker RAM role dan klik tautannya untuk membuka Konsol Resource Access Management (RAM) guna memberikan izin kepada peran tersebut.
Buat kebijakan izin kustom berikut. Untuk informasi selengkapnya, lihat Buat kebijakan izin kustom.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetInstanceVpcEndpoint", "cr:ListInstanceEndpoint" ], "Resource": "*" } ] }Pada halaman Roles, temukan peran RAM worker dan sambungkan kebijakan izin kustom yang telah Anda buat. Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik .
Pada halaman App Catalog, masukkan ack-acr-acceleration-p2p di kotak pencarian, temukan komponennya, lalu klik kartunya.
Pada halaman detail komponen, klik Deploy di pojok kanan atas.
Pada panel Create, pilih Cluster dan namespace, tentukan nama rilis, lalu klik Next.
Pada panel Parameters, pilih versi chart terbaru dan atur parameter acrInstances ke Instance ID ACR Enterprise Edition Anda. Jika Anda memiliki beberapa instans, pisahkan ID-nya dengan koma (
,).# ID instans ACR Enterprise Edition Anda. Untuk menentukan beberapa ID, pisahkan dengan koma (,). Contoh: "cri-xxx,cri-yyy" acrInstances: "" # Wilayah instans ACR Enterprise Edition. Nilai default adalah wilayah kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data. region: "" # VPC yang terhubung ke VPC instans ACR Enterprise Edition. Nilai default adalah VPC kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data melalui VPC. vpcId: "" p2p: # Port yang digunakan oleh agen P2P di jaringan host. port: 65001CatatanSecara default, agen menggunakan port 65001 pada node. Jika terjadi konflik port, ubah nomor port tersebut.
Jika kluster ACK dan instans ACR Enterprise Edition berada di wilayah yang sama, Anda dapat mengosongkan parameter
regiondanvpcId. Jika berada di wilayah berbeda, Anda harus mengatur parameterregionke wilayah instans ACR Enterprise Edition dan parametervpcIdke ID VPC yang terkait dengan instans tersebut.Jika Anda menggunakan gambar kontainer yang sangat besar, seperti gambar untuk model besar, Anda harus menyesuaikan mode caching data P2P berdasarkan konfigurasi node Anda:
Mode caching berbasis data disk (Default): Pastikan tipe data disk pada node adalah AutoPL. Atur
p2p.v2.cache.modekedisk.Mode caching berbasis memori: Pastikan node memiliki setidaknya 8 GB memori bebas, lalu atur nilai
p2p.v2.cache.modekememory.
Gunakan pasangan kunci akses Pengguna RAM
Buat Pengguna RAM. Untuk informasi selengkapnya, lihat Buat Pengguna RAM.
Berikan izin berikut kepada Pengguna RAM tersebut. Lalu, buat pasangan AccessKey dan catat AccessKey ID serta AccessKey Secret.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetInstanceVpcEndpoint", "cr:ListInstanceEndpoint" ], "Resource": "*" } ] }Masuk ke Konsol ACK. Di panel navigasi kiri, klik .
Pada halaman App Catalog, masukkan ack-acr-acceleration-p2p di kotak pencarian, temukan komponennya, lalu klik kartunya.
Pada halaman detail komponen, klik Deploy di pojok kanan atas.
Pada panel Create, pilih Cluster dan namespace, tentukan nama rilis, lalu klik Next.
Pada panel Parameters, pilih versi chart terbaru. Atur parameter acrInstances ke Instance ID ACR Enterprise Edition Anda. Jika Anda memiliki beberapa instans, pisahkan ID-nya dengan koma (
,). Lalu, masukkan AccessKey ID dan AccessKey Secret yang telah Anda catat.# ID instans ACR Enterprise Edition Anda. Untuk menentukan beberapa ID, pisahkan dengan koma (,). Contoh: "cri-xxx,cri-yyy" acrInstances: "" # Jika kluster Kubernetes Anda dikelola sendiri di pusat data, Anda harus menentukan parameter berikut. accessKey: "" accessKeySecret: "" # Wilayah instans ACR Enterprise Edition. Nilai default adalah wilayah kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data. region: "" # VPC yang terhubung ke VPC instans ACR Enterprise Edition. Nilai default adalah VPC kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data melalui VPC. vpcId: "" p2p: # Port yang digunakan oleh agen P2P di jaringan host. port: 65001CatatanSecara default, agen menggunakan port 65001 pada node. Jika terjadi konflik port, ubah nomor port tersebut.
Jika kluster ACK dan instans ACR Enterprise Edition berada di wilayah yang sama, Anda dapat mengosongkan parameter
regiondanvpcId. Jika berada di wilayah berbeda, Anda harus mengatur parameterregionke wilayah instans ACR Enterprise Edition dan parametervpcIdke ID VPC yang terkait dengan instans tersebut.Jika Anda menggunakan gambar kontainer yang sangat besar, seperti gambar untuk model besar, Anda harus menyesuaikan mode caching data P2P berdasarkan konfigurasi node Anda:
Mode caching berbasis data disk (Default): Pastikan tipe data disk pada node adalah AutoPL. Atur
p2p.v2.cache.modekedisk.Mode caching berbasis memori: Pastikan node memiliki setidaknya 8 GB memori bebas, lalu atur nilai
p2p.v2.cache.modekememory.
Gunakan RRSA
Fitur RAM Roles for Service Accounts (RRSA) memungkinkan Anda menerapkan kontrol izin detail halus di tingkat Pod.
Fitur RRSA hanya didukung di kluster yang menjalankan Kubernetes versi 1.22 atau lebih baru.
Untuk menggunakan RRSA, Anda harus meningkatkan versi agen ke 0.3.6 atau lebih baru.
Untuk mengaktifkan RRSA pada agen akselerasi P2P, Anda harus terlebih dahulu mengaktifkan RRSA untuk kluster, lalu mengonfigurasi pengaturan RRSA untuk agen tersebut. Jika langkah-langkah ini dilakukan dalam urutan yang salah, Anda harus menguninstall dan menginstal ulang agen agar konfigurasi RRSA berlaku.
Aktifkan fitur RRSA untuk kluster Anda. Untuk informasi selengkapnya, lihat Kaitkan peran RAM dengan akun layanan untuk menerapkan pengelolaan izin detail halus di tingkat Pod menggunakan RRSA.
Konfigurasikan peran RAM agar dapat mengakses resource Container Registry.
Skenario 1: Kluster ACK dan instans ACR Enterprise Edition berada dalam akun yang sama.
Asumsikan Akun A memiliki kluster ACK dan instans ACR Enterprise Edition. Buat peran RAM di Akun A. Untuk informasi selengkapnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya. Lalu, sambungkan kebijakan izin berikut ke peran tersebut.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetInstanceVpcEndpoint", "cr:ListInstanceEndpoint" ], "Resource": "*" } ] }CatatanGanti <oidc_issuer_url> dengan URL penyedia OIDC untuk kluster Anda. Anda dapat menemukan URL ini di tab Basic Information pada halaman detail kluster di Konsol ACK.
Ganti <oidc_provider_arn> dengan ARN penyedia OIDC untuk kluster Anda. Anda dapat menemukan ARN ini di tab Basic Information pada halaman detail kluster di Konsol ACK.
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "<oidc_issuer_url>", "oidc:sub": [ "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-job-sa", "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-sa" ] } }, "Effect": "Allow", "Principal": { "Federated": [ "<oidc_provider_arn>" ] } } ], "Version": "1" }Skenario 2: Kluster ACK dan instans ACR Enterprise Edition berada di akun berbeda.
Asumsikan Akun A memiliki kluster ACK, sedangkan Akun B memiliki instans ACR Enterprise Edition. Anda perlu memberikan izin kepada kluster ACK di Akun A agar dapat mengakses resource Container Registry di Akun B.
Di Akun A, buat peran RAM. Untuk informasi selengkapnya, lihat Buat peran RAM untuk akun Alibaba Cloud tepercaya. Sambungkan kebijakan izin AliyunSTSAssumeRoleAccess untuk memberikan izin kepada peran tersebut agar dapat mengasumsikan peran lain. Lalu, modifikasi kebijakan kepercayaannya.
CatatanGanti <oidc_issuer_url> dengan URL penyedia OIDC untuk kluster Anda. Anda dapat menemukan URL ini di tab Basic Information pada halaman detail kluster di Konsol ACK.
Ganti <oidc_provider_arn> dengan ARN penyedia OIDC untuk kluster Anda. Anda dapat menemukan ARN ini di tab Basic Information pada halaman detail kluster di Konsol ACK.
{ "Statement": [ { "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "oidc:aud": [ "sts.aliyuncs.com" ], "oidc:iss": "<oidc_issuer_url>", "oidc:sub": [ "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-job-sa", "system:serviceaccount:aliyun-acr-acceleration:ack-acr-acceleration-p2p-sa" ] } }, "Effect": "Allow", "Principal": { "Federated": [ "<oidc_provider_arn>" ] } } ], "Version": "1" }Di Akun B, buat peran RAM untuk izin ACR. Pada tab trust policy, tambahkan ARN peran dari Akun A. Sambungkan kebijakan izin berikut ke peran di Akun B.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetInstanceVpcEndpoint", "cr:ListInstanceEndpoint" ], "Resource": "*" } ] }CatatanAnda dapat mengatur Maximum Session Duration untuk peran RAM ini, dengan rentang valid antara 3.600 hingga 43.200 detik. Durasi sesi, yang dikonfigurasi melalui parameter expireDuration pada langkah berikutnya, harus kurang dari atau sama dengan durasi sesi maksimum. Kami menyarankan Anda mengatur expireDuration dengan nilai yang sama seperti Maximum Session Duration.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik .
Pada halaman App Catalog, masukkan ack-acr-acceleration-p2p di kotak pencarian, temukan komponennya, lalu klik kartunya.
Pada halaman detail komponen, klik Deploy di pojok kanan atas.
Pada panel Create, pilih Cluster dan namespace, tentukan nama rilis, lalu klik Next.
Pada panel Parameters, pilih versi chart terbaru. Atur parameter acrInstances ke Instance ID ACR Enterprise Edition Anda. Jika Anda memiliki beberapa instans, pisahkan ID-nya dengan koma (
,). Konfigurasikan parameter RRSA seperti yang dijelaskan dalam tabel berikut.Parameter
Deskripsi
Nilai
rrsa.enable
Menentukan apakah RRSA diaktifkan.
true
rrsa.rrsaRoleARN
ARN peran RAM yang dibuat di Akun A.
Contoh: acs:ram::aaa
rrsa.rrsaOIDCProviderRoleARN
ARN penyedia OIDC untuk kluster di Akun A.
Contoh: acs:ram::bbb
rrsa.assumeRoleARN
ARN peran RAM yang dibuat di Akun B. Parameter ini tidak diperlukan untuk skenario akun yang sama.
Contoh: acs:ram::ccc
rrsa.expireDuration
Durasi sesi untuk peran yang dibuat di Akun B. Ini menentukan periode validitas kredensial temporary yang dihasilkan oleh agen. Parameter ini tidak diperlukan untuk skenario akun yang sama.
PentingNilai expireDuration tidak boleh lebih besar daripada Maximum Session Duration peran yang dibuat di Akun B.
Nilai default adalah 3600. Nilainya harus antara 3600 dan 43200. Satuan: detik.
Anda juga perlu mengatur Maximum Session Duration untuk peran di Akun B menjadi 43200.
Untuk informasi tentang parameter lainnya, lihat Lampiran.
CatatanSecara default, agen menggunakan port 65001 pada node. Jika terjadi konflik port, ubah nomor port tersebut.
Jika kluster ACK dan instans ACR Enterprise Edition berada di wilayah yang sama, Anda dapat mengosongkan parameter
regiondanvpcId. Jika berada di wilayah berbeda, Anda harus mengatur parameterregionke wilayah instans ACR Enterprise Edition dan parametervpcIdke ID VPC yang terkait dengan instans tersebut.Jika Anda menggunakan gambar kontainer yang sangat besar, seperti gambar untuk model besar, Anda harus menyesuaikan mode caching data P2P berdasarkan konfigurasi node Anda:
Mode caching berbasis data disk (Default): Pastikan tipe data disk pada node adalah AutoPL. Atur
p2p.v2.cache.modekedisk.Mode caching berbasis memori: Pastikan node memiliki setidaknya 8 GB memori bebas, lalu atur nilai
p2p.v2.cache.modekememory.
# ID instans ACR Enterprise Edition Anda. Untuk menentukan beberapa ID, pisahkan dengan koma (,). Contoh: "cri-xxx,cri-yyy" acrInstances: "" rrsa: enable: true rrsaRoleARN: "" rrsaOIDCProviderRoleARN: "" assumeRoleARN: "" expireDuration: 3600 # Wilayah instans ACR Enterprise Edition. Nilai default adalah wilayah kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data. region: "" # VPC yang terhubung ke VPC instans ACR Enterprise Edition. Nilai default adalah VPC kluster. # Anda harus mengatur parameter ini jika kluster dan instans berada di wilayah berbeda, atau jika Anda mengakses instans dari kluster yang dikelola sendiri di pusat data melalui VPC. vpcId: "" p2p: # Port yang digunakan oleh agen P2P di jaringan host. port: 65001
Lampiran
Tabel berikut menjelaskan beberapa parameter untuk komponen ack-acr-acceleration-p2p.
Parameter | Default (disk mode) | Default (memory mode) | Deskripsi |
blocksize | 256 | 256 | Ukuran chunk data tunggal yang diminta dari Object Storage Service (OSS) sumber. |
capacity | 4294967296 | 0 | Ukuran cache disk. |
optionBlockSize | 67108864 | 8589934592 | Ukuran cache memori.
|
memoryCacheCapacityGB | 1 | 8 |
|
aio | 0 | 0 | Menentukan apakah libaio diaktifkan. Parameter ini tidak berlaku dalam mode memori.
|
DeployConfig | |||
proxyFsParallels | 128 | Jumlah permintaan yang dapat diproses secara konkuren oleh agen P2P. | |
AgentConfig | |||
connectTimeout (s) | 5 | Timeout untuk agen P2P saat membuat koneksi dengan peer upstream. | |
transferTimeout (s) | 15 | Timeout transfer data. Transfer akan dibatalkan jika tidak ada data yang diterima dalam durasi ini. | |