Bantu tingkatkan halaman ini
Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat node yang dikelola sendiri Bottlerocket
catatan
Grup node terkelola mungkin menawarkan beberapa keuntungan untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat Sederhanakan siklus hidup node dengan grup node terkelola.
Topik ini menjelaskan cara meluncurkan grup Auto Scaling dari node Bottlerocketeksctl
dokumentasi.
Untuk informasi tentang peningkatan di tempat, lihat BottlerocketMemperbarui Operator
penting
EKSNode Amazon adalah EC2 instans Amazon standar, dan Anda ditagih berdasarkan harga EC2 instans Amazon normal. Untuk informasi selengkapnya, lihat EC2harga Amazon
. -
Anda dapat meluncurkan node Bottlerocket di EKS cluster Amazon yang diperluas di AWS Outposts, tetapi Anda tidak dapat meluncurkannya di cluster lokal di Outposts. AWS Untuk informasi selengkapnya, lihat Menerapkan Amazon EKS lokal dengan AWS Outposts.
-
Anda dapat menerapkan ke EC2 instans Amazon dengan
x86
atau Arm prosesor. Namun, Anda tidak dapat menyebarkan ke instance yang memiliki Inferentia chip. -
Bottlerocketkompatibel dengan AWS CloudFormation. Namun, tidak ada CloudFormation template resmi yang dapat disalin untuk menyebarkan Bottlerocket node untuk Amazon. EKS
-
Bottlerocketgambar tidak datang dengan SSH server atau shell. Anda dapat menggunakan metode out-of-band akses untuk SSH memungkinkan mengaktifkan wadah admin dan meneruskan beberapa langkah konfigurasi bootstrap dengan data pengguna. Untuk informasi lebih lanjut, lihat bagian ini di READMEbottlerocket
.md di: GitHub
Untuk meluncurkan Bottlerocket node menggunakan eksctl
Prosedur ini membutuhkan eksctl
versi 0.189.0
atau yang lebih baru. Anda dapat memeriksa versi Anda dengan perintah berikut:
eksctl version
Untuk petunjuk tentang cara menginstal atau meningkatkaneksctl
, lihat Instalasieksctl
dokumentasi.
catatan
Prosedur ini hanya bekerja untuk klaster yang dibuat dengan eksctl
.
-
Salin konten berikut ke perangkat Anda. Ganti
dengan nama klaster Anda. Nama hanya dapat berisi karakter alfanumerik (peka huruf besar/kecil) dan tanda hubung. Itu harus dimulai dengan karakter alfanumerik dan tidak boleh lebih dari 100 karakter. Nama harus unik di dalam Wilayah AWS dan Akun AWS tempat Anda membuat cluster. Gantimy-cluster
dengan nama untuk grup node Anda. Nama grup node tidak boleh lebih dari 63 karakter. Itu harus dimulai dengan huruf atau digit, tetapi juga dapat menyertakan tanda hubung dan garis bawah untuk karakter yang tersisa. Untuk menerapkan pada instance Arm, ganting-bottlerocket
dengan tipe instance Arm. Gantim5.large
dengan nama EC2 SSH key pair Amazon yang dapat Anda gunakan untuk terhubung menggunakan SSH ke node Anda setelah diluncurkan. Jika Anda belum memiliki EC2 key pair Amazon, Anda dapat membuatnya di AWS Management Console. Untuk informasi selengkapnya, lihat pasangan EC2 kunci Amazon di Panduan EC2 Pengguna Amazon. Ganti semua yang tersisamy-ec2-keypair-name
dengan nilai-nilai Anda sendiri. Setelah Anda membuat penggantian, jalankan perintah yang dimodifikasi untuk membuatnilai contoh
bottlerocket.yaml
file.Jika menentukan jenis EC2 instans Amazon Arm, tinjau pertimbangan Amazon EKS mengoptimalkan Arm Amazon Linux AMIs sebelum menerapkan. Untuk petunjuk tentang cara menerapkan menggunakan kustomAMI, lihat BottlerocketMembangun
GitHub dan AMIDukungan kustom dalam eksctl
dokumentasi. Untuk menerapkan grup node terkelola, terapkan kustom AMI menggunakan template peluncuran. Untuk informasi selengkapnya, lihat Sesuaikan node terkelola dengan templat peluncuran.penting
Untuk menyebarkan grup node ke AWS Outposts, AWS Wavelength, atau subnet Zona AWS Lokal, jangan lulus AWS Outposts AWS Wavelength, atau subnet Zona AWS Lokal saat Anda membuat klaster. Anda harus menentukan subnet dalam contoh berikut. Untuk informasi selengkapnya lihat Buat nodegroup dari file config
dan Skema file config di dalam dokumentasi eksctl
. Ganti
dengan tempat Wilayah AWS cluster Anda berada.region-code
cat >bottlerocket.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:
my-cluster
region:region-code
version:'1.30'
iam: withOIDC: true nodeGroups: - name:ng-bottlerocket
instanceType:m5.large
desiredCapacity:3
amiFamily:Bottlerocket
ami: auto-ssm iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName:my-ec2-keypair-name
EOF -
Deploy simpul Anda dengan perintah berikut.
eksctl create nodegroup --config-file=bottlerocket.yaml
Contoh output adalah sebagai berikut.
Beberapa baris adalah output sementara node dibuat. Salah satu baris terakhir dari output adalah baris contoh berikutnya.
[✔] created 1 nodegroup(s) in cluster "
my-cluster
" -
(Opsional) Buat volume Kubernetes persisten
pada Bottlerocket node menggunakan EBSCSIPlugin Amazon . EBSDriver Amazon default bergantung pada alat sistem file yang tidak disertakanBottlerocket. Untuk informasi selengkapnya tentang cara membuat kelas penyimpanan menggunakan driver, lihat Simpan Kubernetes volume dengan Amazon EBS. -
(Opsional) Secara default,
kube-proxy
menetapkan parameternf_conntrack_max
kernel ke nilai default yang mungkin berbeda dari apa yang Bottlerocket awalnya ditetapkan saat boot. Untuk menjaga Bottlerocket pengaturan default, edit kube-proxy
konfigurasi dengan perintah berikut.kubectl edit -n kube-system daemonset kube-proxy
Tambahkan
--conntrack-max-per-core
dan--conntrack-min
kekube-proxy
argumen yang ada dalam contoh berikut. Pengaturan0
menyiratkan bahwa tidak ada perubahan.containers: - command: - kube-proxy - --v=2 - --config=/var/lib/kube-proxy-config/config
- --conntrack-max-per-core=0 - --conntrack-min=0
-
(Opsional) Menyebarkan aplikasi sampel untuk menguji Bottlerocket node Anda.
Kami merekomendasikan memblokir Pod akses ke IMDS jika kondisi berikut benar:
Anda berencana untuk menetapkan IAM peran ke semua akun Kubernetes layanan Anda sehingga Pods hanya memiliki izin minimum yang mereka butuhkan.
Tidak ada Pods di klaster yang memerlukan akses ke layanan metadata EC2 instans Amazon (IMDS) karena alasan lain, seperti mengambil arus. Wilayah AWS
Untuk informasi selengkapnya, lihat Membatasi akses ke profil instance yang ditetapkan ke node pekerja
.