Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Terapkan ke Amazon EKS dengan CodePipeline
Tutorial ini membantu Anda membuat tindakan penerapan CodePipeline yang menerapkan kode Anda ke cluster yang telah Anda konfigurasikan di Amazon EKS.
Tindakan EKS mendukung klaster EKS publik dan swasta. Cluster pribadi adalah jenis yang direkomendasikan oleh EKS; Namun, kedua jenis didukung.
catatan
Sebagai bagian dari pembuatan pipeline di konsol, bucket artefak S3 akan digunakan oleh CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS itu aman dan dapat diandalkan.
catatan
Tindakan ini menggunakan CodePipeline CodeBuild komputasi terkelola untuk menjalankan perintah di lingkungan build. Menjalankan tindakan perintah akan dikenakan biaya terpisah. AWS CodeBuild
catatan
T EKS indakan penerapan hanya tersedia untuk pipeline tipe V2.
Prasyarat
Ada beberapa sumber daya yang harus Anda miliki sebelum Anda dapat menggunakan tutorial ini untuk membuat pipeline CD Anda. Berikut adalah hal-hal yang Anda butuhkan untuk memulai:
catatan
Semua sumber daya ini harus dibuat dalam Wilayah yang sama AWS .
-
Repositori kontrol sumber (tutorial ini menggunakan GitHub) di mana Anda akan menambahkan
deployment.yamlfile sampel. -
Anda harus menggunakan peran CodePipeline layanan yang ada yang akan Anda perbarui dengan izin untuk tindakan ini menggunakan Langkah 3: Memperbarui kebijakan peran CodePipeline layanan di IAM di bawah ini. Izin yang diperlukan didasarkan pada jenis cluster yang Anda buat. Untuk informasi selengkapnya, lihat Izin kebijakan peran layanan.
-
Tag gambar dan repositori yang berfungsi yang telah Anda dorong ke ECR atau repositori gambar Anda.
Setelah Anda memenuhi prasyarat ini, Anda dapat melanjutkan dengan tutorial dan membuat pipeline CD Anda.
Langkah 1: (Opsional) Buat cluster di Amazon EKS
Anda dapat memilih untuk membuat cluster EKS dengan titik akhir publik atau pribadi.
Dalam langkah-langkah berikut, Anda membuat cluster publik atau pribadi di EKS. Langkah ini opsional jika Anda telah membuat cluster Anda.
Buat cluster publik di Amazon EKS
Pada langkah ini, Anda membuat cluster di EKS.
Buat cluster publik
-
Buka konsol EKS, lalu pilih Buat cluster.
-
Di Nama, beri nama cluster Anda. Pilih Berikutnya.
-
Pilih Buat.
Buat cluster pribadi di Amazon EKS
Jika Anda memilih untuk membuat cluster dengan titik akhir pribadi, pastikan untuk melampirkan subnet pribadi saja, dan pastikan mereka memiliki koneksi internet.
Ikuti lima sub-langkah berikutnya untuk membuat cluster dengan titik akhir pribadi.
Buat VPC di konsol
-
Buka konsol VPC, lalu pilih Buat V PC.
-
Di bawah pengaturan VPC, pilih VPC dan lainnya.
-
Pilih untuk membuat satu subnet publik dan 4 subnet pribadi. Pilih Buat VPC.
-
Pada halaman subnet, pilih Pri badi.
Tentukan subnet pribadi di VPC Anda
-
Arahkan ke VPC Anda dan pilih ID VPC untuk membuka halaman detail VPC.
-
Pada halaman detail VPC, pilih tab Peta sumber daya.
-
Lihat diagram dan catat subnet pribadi Anda. Subnet ditampilkan dengan label untuk menunjukkan status publik atau pribadi, dan setiap subnet dipetakan ke tabel rute.
Perhatikan bahwa cluster pribadi akan memiliki semua subnet pribadi.
-
Buat subnet publik untuk meng-host gateway NAT. Anda dapat melampirkan hanya satu gateway internet untuk satu VPC pada suatu waktu.
Buat gateway NAT di subnet publik
-
Di subnet publik, buat gateway NAT. Arahkan ke konsol VPC, lalu pilih gateway Internet. Pilih Buat gateway internet.
-
Di Nama, masukkan nama untuk gateway internet Anda. Pilih Buat gateway internet.
Perbarui tabel rute untuk subnet pribadi untuk mengarahkan lalu lintas ke gateway NAT.
Menambahkan gateway NAT ke tabel rute untuk subnet pribadi
-
Arahkan ke konsol VPC, lalu pilih Su bnets.
-
Untuk setiap subnet pribadi, pilih dan kemudian pilih tabel rute untuk subnet itu di halaman detail. Pilih Edit tabel rute.
-
Perbarui tabel rute untuk subnet pribadi untuk mengarahkan lalu lintas internet ke gateway NAT. Pilih Tambahkan rute. Pilih NAT gateway dari opsi untuk ditambahkan. Pilih gateway internet yang Anda buat.
-
Untuk subnet publik, buat tabel rute khusus. Verifikasi bahwa daftar kontrol akses jaringan (ACL) untuk subnet publik Anda memungkinkan lalu lintas masuk dari subnet pribadi.
-
Pilih Simpan perubahan.
Pada langkah ini, Anda membuat cluster di EKS.
Buat cluster pribadi
-
Buka konsol EKS, lalu pilih Buat cluster.
-
Di Nama, beri nama cluster Anda. Pilih Berikutnya.
-
Tentukan VPC Anda dan informasi konfigurasi lainnya. Pilih Buat.
Cluster EKS Anda dapat berupa cluster publik atau pribadi. Langkah ini untuk cluster yang HANYA memiliki titik akhir pribadi. Pastikan bahwa jika cluster Anda bersifat pribadi.
Langkah 2: Konfigurasikan klaster pribadi Anda di Amazon EKS
Langkah ini hanya berlaku jika Anda telah membuat cluster pribadi. Langkah ini untuk cluster yang HANYA memiliki titik akhir pribadi.
Konfigurasikan cluster Anda
-
Lampirkan subnet pribadi hanya di cluster EKS di bawah tab Jaringan. Lampirkan subnet pribadi yang ditangkap di bagian T entukan subnet pribadi di VPC Anda di bawah. Langkah 1: (Opsional) Buat cluster di Amazon EKS
-
Pastikan subnet pribadi memiliki akses ke internet karena CodePipeline menyimpan dan mengambil artefak dari bucket artefak S3 untuk pipeline Anda.
Langkah 3: Memperbarui kebijakan peran CodePipeline layanan di IAM
Pada langkah ini, Anda akan memperbarui peran CodePipeline layanan yang ada, seperticp-service-role, dengan izin yang diperlukan CodePipeline untuk terhubung dengan cluster Anda. Jika Anda tidak memiliki peran yang ada, buat yang baru.
Perbarui peran CodePipeline layanan Anda dengan langkah-langkah berikut.
Untuk memperbarui kebijakan peran CodePipeline layanan Anda
-
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Dari dasbor konsol, pilih Per an.
-
Cari peran CodePipeline layanan Anda, seperti
cp-service-role. -
Tambahkan kebijakan sebaris baru.
-
Di editor Kebijakan, masukkan yang berikut ini.
-
Untuk cluster publik, tambahkan izin berikut.
-
Untuk cluster pribadi, tambahkan izin berikut. Cluster pribadi akan memerlukan izin tambahan untuk VPC Anda, jika berlaku.
-
-
Pilih Perbarui kebijakan.
Langkah 4: Buat entri akses untuk peran CodePipeline layanan
Pada langkah ini, Anda membuat entri akses pada cluster Anda yang akan menambahkan peran CodePipeline layanan yang Anda perbarui di Langkah 3, bersama dengan kebijakan akses terkelola.
-
Buka konsol EKS dan navigasikan ke cluster Anda.
-
Pilih tab Akses.
-
Di bawah entri akses IAM, pilih Buat entr i akses.
-
Di ARN utama IAM, masukkan peran yang baru saja Anda perbarui untuk tindakan tersebut, seperti
cp-service-role. Pilih Berikutnya. -
Pada halaman Langkah 2: Tambahkan kebijakan akses, di Nama kebijakan, pilih kebijakan terkelola untuk akses, seperti
AmazonEKSClusterAdminPolicy. Pilih Tambahkan kebijakan. Pilih Berikutnya.catatan
Ini adalah kebijakan yang digunakan CodePipeline tindakan untuk berbicara dengan Kubernetes. Sebagai praktik terbaik, untuk mengurangi izin dalam kebijakan Anda dengan hak istimewa paling sedikit daripada kebijakan administratif, lampirkan kebijakan khusus sebagai gantinya.
-
Pada halaman ulasan, pilih Buat.
Langkah 5: Buat repositori sumber dan tambahkan file konfigurasi bagan Helm
Pada langkah ini, Anda membuat file konfigurasi yang sesuai untuk tindakan Anda (file manifes Kubernetes atau bagan Helm) dan menyimpan file konfigurasi di repositori sumber Anda. Gunakan file yang sesuai untuk konfigurasi Anda. Untuk informasi selengkapnya, lihat https://kubernetes.io/docs/reference/kubectl/quick-reference/
-
Untuk Kubernetes, gunakan file manifes.
-
Untuk Helm, gunakan bagan Helm.
-
Buat atau gunakan GitHub repositori yang ada.
-
Buat struktur baru di repositori Anda untuk file bagan Helm Anda seperti yang ditunjukkan pada contoh di bawah ini.
mychart |-- Chart.yaml |-- charts |-- templates | |-- NOTES.txt | |-- _helpers.tpl | |-- deployment.yaml | |-- ingress.yaml | `-- service.yaml `-- values.yaml -
Tambahkan file ke tingkat root repositori Anda.
Langkah 6: Membuat pipeline Anda
Gunakan CodePipeline wizard untuk membuat tahapan pipeline Anda dan menghubungkan repositori sumber Anda.
Untuk membuat alur Anda
Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/
. -
Pada halaman Selamat Datang, halaman Mem ulai, atau halaman Pipelines, pilih Buat pipeline.
-
Pada Langkah 1: Pilih halaman opsi pembuatan, di bawah Opsi pembuatan, pilih opsi Build custom pipeline. Pilih Berikutnya.
-
Di Langkah 2: Pilih pengaturan pipa, di Nama Pipeline, masukkan
MyEKSPipeline. -
CodePipeline menyediakan pipa tipe V1 dan V2, yang berbeda dalam karakteristik dan harga. Jenis V2 adalah satu-satunya jenis yang dapat Anda pilih di konsol. Untuk informasi selengkapnya, lihat Jenis jalur. Untuk informasi tentang penetapan harga untuk CodePipeline, lihat Harga
. -
Di Peran layanan, pilih peran layanan yang Anda perbarui di Langkah 3.
-
Biarkan pengaturan di bawah Peng aturan lanj utan pada defaultnya, lalu pilih Ber ikutnya.
-
Pada Langkah 3: Tambahkan halaman tahap sumber, untuk Penye dia Sumber, pilih untuk membuat koneksi ke GitHub repositori Anda.
-
Pada Langkah 4: Tambahkan halaman tahap pembuatan, pilih Le wati.
-
Pada Langkah 5: Tambahkan halaman tahap penerapan, pilih Amazon EKS.
-
Di bawah Jenis konfigurasi Deplo y, pilih Helm.
-
Di lokasi bagan Helm, masukkan nama rilis, seperti
my-release. Untuk lokasi bagan Helm, masukkan jalur untuk file bagan Helm Anda, sepertimychart. -
Pilih Berikutnya.
-
-
Pada halaman Langkah 6: Tinjau, tinjau konfigurasi pipeline Anda dan pilih Buat pipeline untuk membuat pipeline.
-
Setelah pipeline berjalan dengan sukses, pilih Lihat detail untuk melihat log pada tindakan untuk melihat output tindakan.