Akses Cluster - Panduan Pengguna Eksctl

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:

  1. EKS tidak mengizinkan cluster tanpa akses pribadi atau publik diaktifkan.

  2. 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.

  3. Memperbarui klaster agar hanya memiliki akses endpoint API Kubernetes pribadi berarti bahwa perintah Kubernetes, secara default, (misalnyakubectl) dan juga eksctl delete clustereksctl utils write-kubeconfig, dan mungkin perintah tersebut eksctl utils update-kube-proxy harus 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.extraCIDRs yang akan menambahkan rentang CIDR tambahan ke ControlPlaneSecurityGroup, memungkinkan subnet di luar VPC mencapai titik akhir API kubernetes. Demikian pula Anda dapat memberikan vpc.extraIPv6CIDRs untuk 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