Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan resource dan paket Kubernetes menggunakan Amazon EKS dan repositori bagan Helm di Amazon S3
Sagar Panigrahi, Amazon Web Services
Ringkasan
Pola ini membantu Anda mengelola aplikasi Kubernetes secara efisien, terlepas dari kompleksitasnya. Pola ini mengintegrasikan Helm ke dalam pipeline continuous integration dan continuous delivery (CI/CD) yang ada untuk menyebarkan aplikasi ke dalam klaster Kubernetes. Helm adalah manajer paket Kubernetes yang membantu Anda mengelola aplikasi Kubernetes. Bagan helm membantu mendefinisikan, menginstal, dan meningkatkan aplikasi Kubernetes yang kompleks. Bagan dapat dibuat versi dan disimpan di repositori Helm, yang meningkatkan mean time to restore (MTTR) selama pemadaman.
Pola ini menggunakan Amazon Elastic Kubernetes Service (Amazon EKS) untuk klaster Kubernetes. Ini menggunakan Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) sebagai repositori bagan Helm, sehingga bagan dapat dikelola dan diakses secara terpusat oleh pengembang di seluruh organisasi.
Prasyarat dan batasan
Prasyarat
Akun Amazon Web Services (AWS) aktif dengan virtual private cloud (VPC)
Klaster Amazon EKS
Node pekerja disiapkan dalam klaster Amazon EKS dan siap menerima beban kerja
Kubectl untuk mengonfigurasi file Amazon EKS kubeconfig untuk cluster target di mesin klien
Akses AWS Identity and Access Management (IAM) untuk membuat bucket S3
Akses IAM (terprogram atau peran) ke Amazon S3 dari mesin klien
Manajemen kode sumber dan CI/CD pipa
Batasan
Tidak ada dukungan saat ini untuk meningkatkan, menghapus, atau mengelola definisi sumber daya khusus ()CRDs.
Jika Anda menggunakan sumber daya yang mengacu pada CRD, CRD harus diinstal secara terpisah (di luar bagan).
Versi produk
Helm v3.6.3
Arsitektur
Tumpukan teknologi target
Amazon EKS
Amazon VPC
Amazon S3
Manajemen kode sumber
Helm
Kubectl
Arsitektur target

Otomatisasi dan skala
AWS CloudFormation dapat digunakan untuk mengotomatiskan pembuatan infrastruktur. Untuk informasi selengkapnya, lihat Membuat resource Amazon EKS dengan AWS CloudFormation di dokumentasi Amazon EKS.
Helm akan dimasukkan ke dalam alat CI/CD otomatisasi Anda yang ada untuk mengotomatiskan pengemasan dan pembuatan versi bagan Helm (di luar cakupan pola ini).
GitVersion atau nomor build Jenkins dapat digunakan untuk mengotomatiskan pembuatan versi bagan.
Alat
Alat
Amazon EKS — Amazon Elastic Kubernetes Service (Amazon EKS) adalah layanan terkelola untuk menjalankan Kubernetes di AWS tanpa perlu berdiri atau memelihara pesawat kontrol Kubernetes Anda sendiri. Kubernetes adalah sebuah sistem sumber terbuka untuk melakukan otomatisasi terhadap deployment, penskalaan, dan pengelolaan aplikasi terkontainer.
Helm
- Helm adalah manajer paket untuk Kubernetes yang membantu Anda menginstal dan mengelola aplikasi di klaster Kubernetes Anda. Amazon S3 - Amazon Simple Storage Service (Amazon S3) Simple Storage Service adalah penyimpanan untuk internet. Anda dapat menggunakan Amazon S3 untuk menyimpan dan mengambil data sebanyak apa pun kapan pun, dari mana pun di web.
Kubectl
— Kubectl adalah utilitas baris perintah untuk menjalankan perintah terhadap klaster Kubernetes.
Kode
Kode contoh terlampir.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Instal klien Helm. | Untuk mengunduh dan menginstal klien Helm di sistem lokal Anda, gunakan perintah berikut.
| DevOps insinyur |
Validasi instalasi Helm. | Untuk memvalidasi bahwa Helm dapat berkomunikasi dengan server API Kubernetes di dalam klaster Amazon EKS, jalankan. | DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat bagan Helm untuk NGINX. | Untuk membuat bagan helm bernama | DevOps insinyur |
Tinjau struktur bagan. | Untuk meninjau struktur bagan, jalankan perintah pohon | DevOps insinyur |
Nonaktifkan pembuatan akun layanan di bagan. | Di | DevOps insinyur |
Validasi (lint) bagan yang dimodifikasi untuk kesalahan sintaksis. | Untuk memvalidasi bagan untuk kesalahan sintaksis apa pun sebelum menginstalnya di cluster target, jalankan. | DevOps insinyur |
Instal bagan untuk menerapkan sumber daya Kubernetes. | Untuk menjalankan instalasi bagan Helm, gunakan perintah berikut.
| DevOps insinyur |
Tinjau sumber daya di cluster Amazon EKS. | Untuk meninjau sumber daya yang dibuat sebagai bagian dari bagan Helm di
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Ubah dan tingkatkan rilis. | Untuk memodifikasi bagan, di
| DevOps insinyur |
Tinjau sejarah rilis Helm. | Untuk membuat daftar semua revisi untuk rilis tertentu yang telah diinstal menggunakan Helm, jalankan perintah berikut.
| DevOps insinyur |
Tinjau detail untuk revisi tertentu. | Sebelum beralih atau memutar kembali ke versi kerja, dan untuk lapisan validasi tambahan sebelum menginstal revisi, lihat nilai mana yang diteruskan ke setiap revisi dengan menggunakan perintah berikut.
| DevOps insinyur |
Gulung kembali ke versi sebelumnya. | Untuk memutar kembali ke revisi sebelumnya, gunakan perintah berikut.
Contoh ini bergulir kembali ke nomor revisi 1. | DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat bucket S3 untuk bagan Helm. | Buat bucket S3 yang unik. Di ember, buat folder bernama | Administrator awan |
Instal plugin Helm untuk Amazon S3. | Untuk menginstal plugin helm-s3 di mesin klien Anda, gunakan perintah berikut.
Catatan: Dukungan Helm V3 tersedia dengan plugin versi 0.9.0 dan di atas. | DevOps insinyur |
Inisialisasi repositori Amazon S3 Helm. | Untuk menginisialisasi folder target sebagai repositori Helm, gunakan perintah berikut.
Perintah membuat | DevOps insinyur |
Tambahkan repositori Amazon S3 ke Helm. | Untuk menambahkan repositori di mesin klien, gunakan perintah berikut.
Perintah ini menambahkan alias ke repositori target di mesin klien Helm. | DevOps insinyur |
Tinjau daftar repositori. | Untuk melihat daftar repositori di mesin klien Helm, jalankan. | DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Package grafik. | Untuk mengemas | DevOps insinyur |
Simpan paket di repositori Amazon S3 Helm. | Untuk mengunggah paket ke repositori Helm di Amazon S3, jalankan perintah berikut, menggunakan nama file yang benar.
| DevOps insinyur |
Cari bagan Helm. | Untuk mengonfirmasi bahwa bagan muncul baik secara lokal maupun di repositori Helm di Amazon S3, jalankan perintah berikut.
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Memodifikasi dan mengemas bagan. | Dalam Pembuatan versi idealnya diperbarui melalui otomatisasi menggunakan alat seperti GitVersion atau Jenkins membangun nomor dalam pipeline. CI/CD Mengotomatiskan nomor versi berada di luar cakupan pola ini. | DevOps insinyur |
Dorong versi baru ke repositori Helm di Amazon S3. | Untuk mendorong paket baru dengan versi 0.1.1 ke repositori
| DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Cari semua versi bagan my-nginx. | Untuk melihat semua versi bagan yang tersedia, jalankan perintah berikut dengan
Tanpa tanda, Helm secara default menampilkan versi bagan terbaru yang diunggah. | DevOps insinyur |
Instal bagan dari repositori Amazon S3 Helm. | Hasil pencarian dari tugas sebelumnya menunjukkan beberapa versi
| DevOps insinyur |
Sumber daya terkait
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip