Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Menggunakan Jenkins dengan Kubernetes AWS, Bagian 1

CoreOS adalah sistem Operasi yang dirancang untuk wadah Docker. CoreOS memiliki Docker yang sudah diinstal sebelumnya. Kubernetes dapat diinstal pada CoreOS menggunakan CloudFormation, seperti yang dibahas secara rinci dalam artikel sebelumnya, “Memulai Kubernetes di Amazon Web Services (AWS).”

Masalah

Kubernetes tidak diinstal sebelumnya pada CoreOS dan dapat diinstal dengan menggunakan kube-aws alat dan memerlukan beberapa masukan dan konfigurasi pengguna. Menginstal Kubernetes di CoreOS adalah proses yang terlibat dan terdiri dari tahapan berikut yang ditunjukkan pada Gambar 1.


Gambar 1: Instalasi Kubernetes di CoreOS Stages

Solusi

Jenkins Pipeline dapat digunakan untuk mengotomatisasi penginstalan Kubernetes, seperti yang ditunjukkan pada Gambar 2. Berbagai tahapan penginstalan dapat dikonfigurasi dalam Jenkinsfile dan, ketika Pipeline dijalankan, kube-aws alat diunduh, CloudFormation stack diinisialisasi, konten Direktori Aset dirender, parameter cluster seperti jumlah instance pekerja dikustomisasi, dan selanjutnya cluster divalidasi dan diluncurkan.


Gambar 2: Jenkins Pipeline untuk menginstal Kubernetes di CoreOS

Menginstal Kubernetes menggunakan Jenkins Pipeline adalah contoh Otomasi Pola Desain DevOps.

Dalam tutorial tiga artikel, kita akan mengotomatiskan proses instalasi Kubernetes menggunakan Jenkins Pipeline. Artikel ini memiliki bagian berikut:

  • Mengatur Lingkungan
  • Membuat Artefak Prasyarat
  • Membuat Node Jenkins
  • Kesimpulan

Mengatur Lingkungan

Kami akan menginstal Jenkins menggunakan gambar Docker "jenkins" pada instance CoreOS. Kami akan meluncurkan klaster Kubernetes pada instans Amazon AMI Linux EC2 menggunakan Jenkins Pipeline. Pertama, luncurkan dua instans EC2, satu menjalankan Amazon Linux dan yang lainnya menjalankan CoreOS, seperti yang ditunjukkan pada Gambar 3.


Gambar 3: Mendapatkan Alamat IP Publik

Saat membuat instans Amazon Linux, buat pasangan kunci baru (“jenkins”, misalnya) dengan memilih “Buat pasangan kunci baru” dan unduh kunci pribadi “jenkins.pem” yang akan digunakan untuk mengonfigurasi agen Jenkins. Dapatkan Alamat IP Publik instans EC2 yang menjalankan CoreOS dan login SSH ke instans.

ssh -i "jenkins.pem"  [email protected]

Jalankan image Docker agar Jenkins dapat meluncurkan Jenkins.

docker run -name jenkins -p 8080:8080 -p 50000:50000 jenkins

Gambar Docker "Jenkins" diunduh. Jenkins memulai. Salin kata sandi yang dihasilkan. Dapatkan DNS Publik dari instans EC2 yang menjalankan Jenkins. Menggunakan url :8080 , masuk ke Dasbor Jenkins, seperti yang ditunjukkan pada Gambar 4.


Gambar 4: Konsol Admin Jenkins

Membuat Artefak Prasyarat

Sekarang, kita perlu membuat beberapa artefak untuk cluster Kubernetes yang tidak dapat diotomatisasi.

  • pasangan kunci EC2
  • Kunci KMS
  • Direktori Jenkins /var/jenkins
  • Login SSH ke instans Amazon EC2 yang menjalankan Amazon Linux
ssh -i "jenkins.pem"  [email protected]

Karena Amazon EC2 digunakan, akun AWS diperlukan. Kita perlu membuat satu set kredensial AWS Security, yang akan kita gunakan untuk mengonfigurasi instans EC2 dari mana tumpukan CloudFormation diluncurkan. Untuk membuat kredensial Keamanan AWS baru, klik Kredensial Keamanan untuk akun pengguna dan klik Buat Kunci Akses Baru untuk membuat kunci akses. Salin Id Kunci Akses dan kunci akses. Di instans Amazon Linux, jalankan perintah berikut untuk mengonfigurasi instans dengan kredensial AWS:

aws configure

Tentukan id kunci akses dan kunci akses saat diminta. Tentukan nama wilayah default (us-east-1 ) dan format keluaran (json ), seperti yang ditunjukkan pada Gambar 5.


Gambar 5: Mengonfigurasi Instans Jenkins dengan Kredensial AWS, Wilayah, dan Format Output Default

Selanjutnya, buat pasangan kunci EC2. Jalankan perintah berikut untuk membuat pasangan kunci bernama kubernetes-coreos dan simpan sebagai kubernetes-coreos.pem .

aws ec2 create-key-pair
   --key-name kubernetes-coreos
   --query 'KeyMaterial'
   --output text > kubernetes-coreos.pem

Ubah izin akses pasangan kunci menggunakan mode 400, yang menetapkan izin akses untuk dibaca oleh pemilik.

chmod 400 kubernetes-coreos.pem

Sepasang kunci dibuat dan izin akses ditetapkan (lihat Gambar 6).


Gambar 6: Membuat Pasangan Kunci untuk Kubernetes

Pasangan kunci juga terdaftar di AWS EC2 Console, seperti yang ditunjukkan pada Gambar 7.


Gambar 7: Mendapatkan Alamat IP Publik

Selanjutnya, buat kunci KMS, yang digunakan untuk mengenkripsi/mendekripsi aset TLS cluster dan diidentifikasi oleh string Arn. Gunakan aw antarmuka baris perintah untuk membuat kunci KMS untuk wilayah us-east-1 .

aws kms
   --region=us-east-1 create-key
   --description="kube-aws assets"

Kunci KMS akan dibuat, seperti yang ditunjukkan pada Gambar 8. Salin KeyMetadata.Arn string dimulai dengan arn:aws:kms:us-east-1 untuk digunakan nanti untuk menginisialisasi cluster CloudFormation.


Gambar 8: Membuat Kunci KMS

Kita juga perlu membuat direktori untuk Jenkins:

sudo mkdir /var/Jenkins
sudo chmod 777 /var/jenkins

Direktori dibuat dan izin ditetapkan, seperti yang ditunjukkan pada Gambar 9.


Gambar 9: Membuat Direktori untuk Jenkins

Membuat Node Jenkins

Jenkins Pipeline adalah proyek Jenkins yang menggunakan plug-in Jenkins Pipeline. Sebuah pipa biasanya terdiri dari urutan langkah, dengan setiap langkah melakukan tugas. Pelaksana yang tersedia pada agen digunakan untuk menjalankan proyek Jenkins. "Agen" adalah mesin yang dikonfigurasi untuk membongkar proyek dari node master. Node "master" adalah mesin tempat Jenkins diinstal dan menangani semua tugas untuk sistem pembangunan, termasuk mengurai skrip Pipeline dan menjalankan proyek Jenkins pada eksekutor. "Pelaksana" adalah sumber daya komputasi untuk mengkompilasi kode dan dapat dikonfigurasi pada node master atau agen. Di bagian ini, kita akan membuat node agen dan mengkonfigurasi eksekutor pada node. Pilih Kelola Jenkins di Dasbor Jenkins, seperti yang ditunjukkan pada Gambar 10.


Gambar 10: Mendapatkan Alamat IP Publik

Selanjutnya, pilih Kelola Node , seperti yang ditunjukkan pada Gambar 11.


Gambar 11 Mendapatkan Alamat IP Publik

Node "master" harus terdaftar. Klik Node Baru untuk membuat node agen, seperti yang ditunjukkan pada Gambar 12.


Gambar 12: Mendapatkan Alamat IP Publik

Tentukan Nama simpul (jenkins , misalnya) dan pilih Agen Permanen tombol radio, seperti yang ditunjukkan pada Gambar 13. Klik OK.


Gambar 13: Mendapatkan Alamat IP Publik

Untuk mengkonfigurasi node agen baru, kita memerlukan DNS host tempat agen akan dibuat. Salin DNS Publik dari AWS EC2 Console untuk instans EC2 yang menjalankan image Amazon Linux, seperti yang ditunjukkan pada Gambar 14.


Gambar 14: Mendapatkan Alamat IP Publik

Di antarmuka pengguna input agen baru, tentukan Nama (jenkins , Misalnya). Tentukan # pelaksana sebagai 1. Tentukan Direktori akar jarak jauh sebagai /var/jenkins , yang telah dibuat sebelumnya. Tentukan Label sebagai "jenkins", yang signifikansinya akan kita bahas di bagian selanjutnya. Dalam Penggunaan , pertahankan pengaturan default "Gunakan node ini sebanyak mungkin." Dalam Metode peluncuran , pilih "Luncurkan agen budak di mesin Unix melalui SSH." Di Host , tentukan DNS Publik yang disalin dari Konsol EC2. Dalam Ketersediaan , pilih “Jaga agar agen ini tetap online sebanyak mungkin”. Untuk Kredensial , klik Tambah tarik-turun dan pilih Penyedia Kredensial Jenkins , seperti yang ditunjukkan pada Gambar 15.


Gambar 15: Mendapatkan Alamat IP Publik

Di Tambahkan Kredensial dialog, pilih Domain sebagai Kredensial global dan Baik sebagai Global . Tentukan Nama Pengguna sebagai “ec2-user” dan pilih Masukkan secara langsung . Salin dan tempel isi file kunci pribadi jenkins.pem di Kunci bidang, seperti yang ditunjukkan pada Gambar 16.


Gambar 16: Menambahkan Kredensial Jenkins

Klik Tambahkan , seperti yang ditunjukkan pada Gambar 17.


Gambar 17: Penyedia Kredensial Jenkins>Tambahkan

Pilih ec2-user kredensial di Kredensial , seperti yang ditunjukkan pada Gambar 18. Klik Simpan .


Gambar 18: Mengonfigurasi Jenkins Node

Agen baru ditambahkan, seperti yang ditunjukkan pada Gambar 19. Awalnya, agen mungkin tidak tersedia karena masih dalam tahap permulaan.


Gambar 19: Agen Jenkins dibuat

Klik tautan agen dan klik Luncurkan kembali agen , jika diperlukan, seperti yang ditunjukkan pada Gambar 20.


Gambar 20: Peluncuran Ulang Agen

Pesan keluaran “Agen berhasil terhubung dan online” menunjukkan agen telah diluncurkan (lihat Gambar 21).


Gambar 21: Agen berhasil terhubung dan online

Agen "jenkins" harus terdaftar sebagai berjalan, seperti yang ditunjukkan pada Gambar 22.


Gambar 22: Agen Jenkins Menjalankan

Kesimpulan

Dalam artikel ini, kami memperkenalkan pentingnya mengotomatiskan penginstalan Kubernetes dengan Jenkins. Kami memulai dengan menginstal Jenkins di CoreOS, membuat artefak prasyarat, dan membuat simpul Jenkins. Dalam artikel berikutnya, kita akan mengonfigurasi Jenkinsfile untuk pipeline Jenkins dan membuat pipeline Jenkins. Dan, di artikel ke-3, kita akan menjalankan pipeline Jenkins untuk menginstal Kubernetes.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Serialisasi Penghapusan Dari Indeks Columnstore Clustered

  2. Paket Berbeda untuk Server Identik

  3. Panduan analisis data:Saatnya untuk unggul dengan menggunakan Excel!

  4. Cara Menghitung Rata-Rata Pergerakan dalam Pergeseran Merah

  5. Cara Menggunakan "Suka" di SQL