Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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.
Siapkan sistem operasi untuk node hybrid
Amazon Linux 2023 (AL2023), Ubuntu, dan Red Hat Enterprise Linux (RHEL) divalidasi secara berkelanjutan untuk digunakan sebagai sistem operasi node untuk node hibrida. AWS mendukung integrasi node hybrid dengan sistem operasi ini tetapi tidak memberikan dukungan untuk sistem operasi itu sendiri. AL2023 tidak tercakup oleh AWS Support Plans saat dijalankan di luar AmazonEC2. AL2023 hanya dapat digunakan di lingkungan virtual lokal, lihat Panduan Pengguna Amazon Linux 2023 untuk informasi selengkapnya.
Anda bertanggung jawab atas penyediaan dan manajemen sistem operasi. Saat Anda menguji node hybrid untuk pertama kalinya, paling mudah menjalankan Amazon EKS Hybrid Nodes CLI (nodeadm
) pada host yang sudah disediakan. Untuk penerapan produksi, disarankan untuk memasukkan nodeadm
gambar sistem operasi Anda dengan itu dikonfigurasi untuk dijalankan sebagai layanan systemd untuk secara otomatis bergabung dengan host ke EKS klaster Amazon saat startup host.
Kompatibilitas versi
Tabel di bawah ini mewakili versi sistem operasi yang kompatibel dan divalidasi untuk digunakan sebagai sistem operasi node untuk node hybrid. Jika Anda menggunakan varian atau versi sistem operasi lain yang tidak termasuk dalam tabel ini, maka kompatibilitas node hybrid dengan varian atau versi sistem operasi Anda tidak tercakup oleh AWS Support. Node hybrid bersifat agnostik terhadap infrastruktur yang mendasarinya dan mendukung x86 dan arsitektur. ARM
Sistem Operasi | Versi |
---|---|
Amazon Linux |
Amazon Linux 2023 (AL2023) |
Ubuntu |
Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04 |
Linux Red Hat Enterprise |
RHEL8, RHEL 9 |
Pertimbangan sistem operasi
Umum
-
Amazon EKS Hybrid Nodes CLI (
nodeadm
) dapat digunakan untuk menyederhanakan instalasi dan konfigurasi komponen dan dependensi node hybrid. Anda dapat menjalankannodeadm install
proses selama pipeline build image sistem operasi atau saat runtime di setiap host lokal. Untuk informasi selengkapnya tentang komponen yangnodeadm
diinstal, lihat. Referensi nodeadm node hibrida -
Jika Anda menggunakan proxy di lingkungan lokal untuk menjangkau internet, ada konfigurasi sistem operasi tambahan yang diperlukan untuk proses penginstalan dan pemutakhiran guna mengonfigurasi manajer paket Anda agar menggunakan proxy. Lihat Konfigurasikan proxy untuk node hybrid untuk instruksi.
Kontainer
-
Containerd adalah runtime container Kubernetes standar dan merupakan dependensi untuk node hybrid, serta semua tipe komputasi node Amazon. EKS Amazon EKS Hybrid Nodes CLI (
nodeadm
) mencoba menginstal containerd selama proses berlangsung.nodeadm install
Anda dapat mengonfigurasi instalasi containerdnodeadm install
saat runtime dengan--containerd-source
opsi baris perintah. Opsi yang valid adalahnone
,distro
, dandocker
. Jika Anda menggunakanRHEL,distro
bukan opsi yang valid dan Anda dapat mengonfigurasinodeadm
untuk menginstal build containerd dari repo Docker atau Anda dapat menginstal containerd secara manual. Saat menggunakan AL2 023 atau Ubuntu,nodeadm
default untuk menginstal containerd dari distribusi sistem operasi. Jika Anda tidak ingin nodeadm menginstal containerd, gunakan opsi.--containerd-source none
Ubuntu
-
Jika Anda menggunakan Ubuntu 20.04, Anda harus menggunakan aktivasi hybrid AWS Systems Manager sebagai penyedia kredensi Anda. AWS IAM Peran Di Mana Saja tidak didukung di Ubuntu 20.04.
-
Jika Anda menggunakan Ubuntu 24.04, Anda mungkin perlu memperbarui versi containerd atau mengubah konfigurasi AppArmor Anda untuk mengadopsi perbaikan yang memungkinkan pod dihentikan dengan benar, lihat Ubuntu #2065423.
Diperlukan reboot untuk menerapkan perubahan pada AppArmor profil. Versi terbaru Ubuntu 24.04 memiliki versi containerd yang diperbarui di manajer paketnya dengan perbaikan (containerd versi 1.7.19+).
RHEL
-
Jika Anda menggunakan RHEL 8, Anda harus menggunakan aktivasi hybrid AWS Systems Manager sebagai penyedia kredensi Anda. AWS IAM Peran Di Mana Saja tidak didukung pada RHEL 8.
Membangun gambar sistem operasi
Amazon EKS menyediakan contoh template Packernodeadm
dan mengonfigurasinya agar berjalan saat startup host. Proses ini disarankan untuk menghindari penarikan dependensi node hybrid secara individual pada setiap host dan untuk mengotomatiskan proses bootstrap node hybrid. Anda dapat menggunakan contoh template Packer dengan gambar Ubuntu 22.04, Ubuntu 24.04, RHEL 8 atau RHEL 9 dan dapat menghasilkan ISO gambar dengan format ini:, OVA Qcow2, atau mentah.
Prasyarat
Sebelum menggunakan contoh template Packer, Anda harus memiliki yang berikut diinstal pada mesin dari tempat Anda menjalankan Packer.
-
Packer versi 1.11.0 atau lebih tinggi. Untuk petunjuk tentang menginstal Packer, lihat Install Packer
di dokumentasi Packer. -
Jika membangunOVAs, VMware vSphere plugin 1.4.0 atau lebih tinggi
-
Jika membangun
Qcow2
atau gambar mentah, QEMU plugin versi 1.x
Tetapkan Variabel Lingkungan
Sebelum menjalankan build Packer, atur variabel lingkungan berikut pada mesin dari tempat Anda menjalankan Packer.
Umum
Variabel lingkungan berikut harus diatur untuk membangun gambar dengan semua sistem operasi dan format output.
Variabel Lingkungan | Tipe | Deskripsi |
---|---|---|
PKR_SSH_PASSWORD |
String |
Packer menggunakan |
ISO_URL |
String |
URLdari yang ISO akan digunakan. Bisa berupa tautan web untuk diunduh dari server, atau jalur absolut ke file lokal |
ISO_CHECKSUM |
String |
Checksum terkait untuk yang disediakanISO. |
CREDENTIAL_PROVIDER |
String |
Penyedia kredensi untuk node hibrida. Nilai yang valid adalah |
K8S_ VERSION |
String |
Versi Kubernetes untuk node hybrid (misalnya). |
NODEADM_ARCH |
String |
Arsitektur untuk |
RHEL
Jika Anda menggunakanRHEL, variabel lingkungan berikut harus diatur.
Variabel Lingkungan | Tipe | Deskripsi |
---|---|---|
RH_ USERNAME |
String |
RHELnama pengguna manajer berlangganan |
RH_ PASSWORD |
String |
RHELkata sandi pengelola langganan |
RHEL_VERSION |
String |
Versi Rhel iso sedang digunakan. Nilai-nilai yang valid adalah |
Ubuntu
Tidak ada variabel lingkungan khusus Ubuntu yang diperlukan.
vSphere
Jika Anda membangun VMware vSphere OVA, variabel lingkungan berikut harus ditetapkan.
Variabel Lingkungan | Tipe | Deskripsi |
---|---|---|
VSPHERE_SERVER |
String |
vSphere alamat server |
VSPHERE_USER |
String |
vSphere nama pengguna |
VSPHERE_PASSWORD |
String |
vSphere kata sandi |
VSPHERE_DATACENTER |
String |
vSphere nama pusat data |
VSPHERE_CLUSTER |
String |
vSphere nama cluster |
VSPHERE_DATASTORE |
String |
vSphere nama datastore |
VSPHERE_NETWORK |
String |
vSphere nama jaringan |
VSPHERE_OUTPUT_FOLDER |
String |
vSphere folder keluaran untuk template |
QEMU
Variabel Lingkungan | Tipe | Deskripsi |
---|---|---|
PACKER_OUTPUT_FORMAT |
String |
Format output untuk QEMU pembangun. Nilai yang valid adalah |
Validasi template
Sebelum menjalankan build, validasi template Anda dengan perintah berikut setelah menyetel variabel lingkungan. Ganti template.pkr.hcl
jika Anda menggunakan nama yang berbeda untuk template Anda.
packer validate template.pkr.hcl
Membangun gambar
Bangun gambar Anda dengan perintah berikut dan gunakan -only
bendera untuk menentukan target dan sistem operasi untuk gambar Anda. Ganti template.pkr.hcl
jika Anda menggunakan nama yang berbeda untuk template Anda.
vSphere OVAs
catatan
Jika Anda menggunakannyaRHEL, vSphere Anda perlu mengonversi file kickstart ke OEMDRV gambar dan meneruskannya sebagai ISO untuk boot dari. Untuk informasi selengkapnya, lihat Packer Readme
Ubuntu 22.04 OVA
packer build -only=general-build.vsphere-iso.ubuntu22 template.pkr.hcl
Ubuntu 24.04 OVA
packer build -only=general-build.vsphere-iso.ubuntu24 template.pkr.hcl
RHEL8 OVA
packer build -only=general-build.vsphere-iso.rhel8 template.pkr.hcl
RHEL9 OVA
packer build -only=general-build.vsphere-iso.rhel9 template.pkr.hcl
QEMU
catatan
Jika Anda membuat gambar untuk host tertentu CPU yang tidak cocok dengan host pembangun Anda, lihat QEMU-cpu
tanda dengan nama host CPU saat Anda menjalankan perintah berikut.
Ubuntu 22.04 Qcow2/Mentah
packer build -only=general-build.qemu.ubuntu22 template.pkr.hcl
Ubuntu 24.04 Qcow2/Mentah
packer build -only=general-build.qemu.ubuntu24 template.pkr.hcl
RHEL8 Qcow2/Mentah
packer build -only=general-build.qemu.rhel8 template.pkr.hcl
RHEL9 Qcow2/Mentah
packer build -only=general-build.qemu.rhel9 template.pkr.hcl
Lewati konfigurasi nodeadm melalui data pengguna
Anda dapat meneruskan konfigurasi untuk nodeadm
data pengguna Anda melalui cloud-init untuk mengonfigurasi dan secara otomatis menghubungkan node hybrid ke EKS cluster Anda saat startup host. Di bawah ini adalah contoh bagaimana untuk mencapai ini ketika menggunakan VMware vSphere sebagai infrastruktur untuk node hybrid Anda.
-
Instal petunjuk
govc
CLI berikut ini di govc readmeon. GitHub -
Setelah menjalankan build Packer di bagian sebelumnya dan menyediakan template Anda, Anda dapat mengkloning template Anda untuk membuat beberapa node berbeda menggunakan berikut ini. Anda harus mengkloning template untuk setiap VM baru yang Anda buat yang akan digunakan untuk node hybrid. Ganti variabel dalam perintah di bawah ini dengan nilai untuk lingkungan Anda. Perintah
VM_NAME
di bawah ini digunakan sebagai AndaNODE_NAME
ketika Anda menyuntikkan nama untuk Anda VMs melaluimetadata.yaml
file Anda.govc vm.clone -vm "/PATH/TO/TEMPLATE" -ds="YOUR_DATASTORE" \ -on=false -template=false -folder=/FOLDER/TO/SAVE/VM "VM_NAME"
-
Setelah mengkloning template untuk masing-masing yang baru AndaVMs, buat
userdata.yaml
danmetadata.yaml
untuk AndaVMs. Anda VMs dapat berbagi hal yang samauserdata.yaml
metadata.yaml
dan dan Anda akan mengisinya berdasarkan per VM dalam langkah-langkah di bawah ini.nodeadm
Konfigurasi dibuat dan didefinisikan diwrite_files
bagian Andauserdata.yaml
. Contoh di bawah ini menggunakan aktivasi AWS SSM hibrid sebagai penyedia kredensi lokal untuk node hibrid. Untuk informasi lebih lanjut tentangnodeadm
konfigurasi, lihatReferensi nodeadm node hibrida.userdata.yaml:
#cloud-config users: - name: # username for login. Use 'builder' for RHEL or 'ubuntu' for Ubuntu. passwd: # password to login. Default is 'builder' for RHEL. groups: [adm, cdrom, dip, plugdev, lxd, sudo] lock-passwd: false sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash write_files: - path: /usr/local/bin/nodeConfig.yaml permissions: '0644' content: | apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Cluster Name region: # AWS region hybrid: ssm: activationCode: # Your ssm activation code activationId: # Your ssm activation id runcmd: - /usr/local/bin/nodeadm init -c file:///usr/local/bin/nodeConfig.yaml >> /var/log/nodeadm-init.log 2>&1
metadata.yaml:
Ciptakan
metadata.yaml
untuk lingkungan Anda. Simpan format"$NODE_NAME"
variabel dalam file karena ini akan diisi dengan nilai pada langkah berikutnya.instance-id: "$NODE_NAME" local-hostname: "$NODE_NAME" network: version: 2 ethernets: nics: match: name: ens* dhcp4: yes
-
Tambahkan
userdata.yaml
danmetadata.yaml
file sebagaigzip+base64
string dengan perintah berikut. Perintah berikut harus dijalankan untuk masing-masing yang VMs Anda buat. GantiVM_NAME
dengan nama VM yang Anda perbarui.export NODE_NAME="VM_NAME" export USER_DATA=$(gzip -c9 <userdata.yaml | base64) govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.userdata="${USER_DATA}" govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.userdata.encoding=gzip+base64 envsubst '$NODE_NAME' < metadata.yaml > metadata.yaml.tmp export METADATA=$(gzip -c9 <metadata.yaml.tmp | base64) govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.metadata="${METADATA}" govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.metadata.encoding=gzip+base64
-
Nyalakan yang baru AndaVMs, yang akan secara otomatis terhubung ke EKS cluster yang Anda konfigurasikan.
govc vm.power -on "${NODE_NAME}"