Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses Cluster
Mengelola Akses ke Endpoint Kubernetes API Server
Secara default, kluster EKS mengekspos server API Kubernetes secara publik tetapi tidak langsung dari dalam subnet VPC (public=true, private=false). Lalu lintas yang ditujukan untuk server API dari dalam VPC harus terlebih dahulu keluar dari jaringan VPC (tetapi bukan jaringan Amazon) dan kemudian masuk kembali untuk mencapai server API.
Akses endpoint server API Kubernetes untuk klaster dapat dikonfigurasi untuk akses publik dan pribadi saat membuat klaster menggunakan file konfigurasi klaster. Contoh di bawah ini:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false>
Ada beberapa peringatan tambahan saat mengonfigurasi akses endpoint API Kubernetes:
-
EKS tidak mengizinkan cluster tanpa akses pribadi atau publik diaktifkan.
-
EKS memang memungkinkan pembuatan konfigurasi yang hanya memungkinkan akses pribadi untuk diaktifkan, tetapi eksctl tidak mendukungnya selama pembuatan cluster karena mencegah eksctl untuk dapat bergabung dengan node pekerja ke cluster.
-
Memperbarui klaster agar hanya memiliki akses endpoint API Kubernetes pribadi berarti bahwa perintah Kubernetes, secara default, (misalnya
kubectl) dan jugaeksctl delete clustereksctl utils write-kubeconfig, dan mungkin perintah tersebuteksctl utils update-kube-proxyharus dijalankan di dalam VPC klaster.-
Ini memerlukan beberapa perubahan pada berbagai sumber daya AWS. Untuk informasi selengkapnya, lihat Titik akhir server API Cluster.
-
Anda dapat menyediakan
vpc.extraCIDRsyang akan menambahkan rentang CIDR tambahan ke ControlPlaneSecurityGroup, memungkinkan subnet di luar VPC mencapai titik akhir API kubernetes. Demikian pula Anda dapat memberikanvpc.extraIPv6CIDRsuntuk menambahkan rentang IPv6 CIDR juga.
-
Berikut ini adalah contoh bagaimana seseorang dapat mengonfigurasi akses endpoint API Kubernetes menggunakan sub-perintah: utils
eksctl utils update-cluster-vpc-config --cluster=<clustername> --private-access=true --public-access=false
Untuk memperbarui pengaturan menggunakan ClusterConfig file, gunakan:
eksctl utils update-cluster-vpc-config -f config.yaml --approve
Perhatikan bahwa jika Anda tidak melewati bendera, itu akan mempertahankan nilai saat ini. Setelah Anda puas dengan perubahan yang diusulkan, tambahkan approve bendera untuk membuat perubahan ke cluster yang sedang berjalan.
Membatasi Akses ke titik akhir API Publik EKS Kubernetes
Pembuatan default cluster EKS mengekspos server API Kubernetes secara publik.
Fitur ini hanya berlaku untuk titik akhir publik. Opsi konfigurasi akses titik akhir server API tidak akan berubah, dan Anda masih memiliki opsi untuk menonaktifkan titik akhir publik sehingga cluster Anda tidak dapat diakses dari internet. (Sumber: https://github.com/aws/ containers-roadmap/issues/108 #issuecomment -552766489)
Untuk membatasi akses ke titik akhir API publik ke satu set CIDRs saat membuat klaster, setel bidang: publicAccessCIDRs
vpc: publicAccessCIDRs: ["1.1.1.1/32", "2.2.2.0/24"]
Untuk memperbarui pembatasan pada klaster yang ada, gunakan:
eksctl utils update-cluster-vpc-config --cluster=<cluster> 1.1.1.1/32,2.2.2.0/24
Untuk memperbarui pembatasan menggunakan ClusterConfig file, atur yang baru CIDRs masuk vpc.publicAccessCIDRs dan jalankan:
eksctl utils update-cluster-vpc-config -f config.yaml
penting
Jika pengaturan publicAccessCIDRs dan pembuatan grup simpul privateAccess harus disetel ke true atau node IPs 'harus ditambahkan ke daftar. publicAccessCIDRs
Jika node tidak dapat mengakses titik akhir API cluster karena akses terbatas, pembuatan cluster akan gagal context deadline exceeded karena node tidak dapat mengakses titik akhir publik dan gagal bergabung dengan cluster.
Untuk memperbarui akses endpoint server API dan akses publik CIDRs untuk klaster dalam satu perintah, jalankan:
eksctl utils update-cluster-vpc-config --cluster=<cluster> --public-access=true --private-access=true --public-access-cidrs=1.1.1.1/32,2.2.2.0/24
Untuk memperbarui pengaturan menggunakan file konfigurasi:
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false> publicAccessCIDRs: ["1.1.1.1/32"]
eksctl utils update-cluster-vpc-config --cluster=<cluster> -f config.yaml