Crossplane: Hal Besar Berikutnya untuk Infrastruktur sebagai Kode | Oleh Vaibhav Rajput | Juni 2022

Programming

[ad_1]
Welcome Teman-teman di suratpembaca.web.id. Kali ini kita akan membahas tentang Linux yakni Crossplane: Hal Besar Berikutnya untuk Infrastruktur sebagai Kode | Oleh Vaibhav Rajput | Juni 2022

.

Mudah-mudahan postingan tentang Crossplane: Hal Besar Berikutnya untuk Infrastruktur sebagai Kode | Oleh Vaibhav Rajput | Juni 2022

bisa memberikan manfaat bagi Teman-teman semua. Langsung saja baca postingan ini
sampai tuntas.

Memulai dengan Crossplane

Foto oleh Philip Myrtorp di Unsplash

Infrastruktur sebagai Kode telah ada selama beberapa waktu.

Ini memecahkan masalah dan terus berkembang dengan fitur-fitur baru.

Kami telah melihat beberapa hari CFEngine. Koki, boneka, lulus ensiklopedia dan hidup di era Transformers dan Pulum.

Crossplane adalah langkah selanjutnya dalam evolusi ini. Ini membawa sesuatu yang baru: kemampuan untuk mendeteksi dan mengoreksi penyimpangan.

Sebelum kita melanjutkan untuk melihat kemampuan sebenarnya dari crossplane, mari kita lihat bagaimana Anda bisa memulai.

Langkah 1: Siapkan cluster awal

Crossplane berjalan pada cluster Kubernetes, jadi langkah pertama adalah membuat cluster. Itu bisa kecil minikube Atau karena hanya menyediakan antarmuka untuk Crossplane.

Instal untuk langkah ini kubectlkan helm Dan kind Di sistem Anda dan jalankan:

kind create cluster — image kindest/node:v1.23.0 — wait 5m

Langkah 2: Instal crossplane

Seperti semua program hosting Kubernetes, mulailah dengan membuat namespace terpisah:

kubectl create namespace crossplane-system

Selanjutnya, instal crossplane Bagan

helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update
helm install crossplane --namespace crossplane-system crossplane-stable/crossplane

menggunakan helm list Atau kubectl get Perintah masuk crossplane-system Beri nama ruang untuk memeriksa keberhasilan instalasi.

Langkah 3: Instal cli crossplane

Crossplane kurang lebih merupakan plugin / paket untuk kubectl KLI. Cukup gunakan:

curl -sL https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | sh

Sekarang Anda dapat menggunakannya seperti itu kubectl crossplane ... Untuk menginstal paket konfigurasi apa pun

Langkah 4: Instal paket konfigurasi untuk penyedia yang Anda inginkan

Dalam contoh ini, kami menginstal paket konfigurasi AWS menggunakan perintah:

kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-aws:v1.8.1

Konfigurasi ini menggunakan VPC default. Gunakan jika Anda ingin membuat VPC baru untuk cluster registry.upbound.io/xp/getting-started-with-aws-with-vpc:v1.8.1 .

Crossplane adalah cloud anonim, jadi Anda dapat menggunakannya registry.upbound.io/xp/getting-started-with-gcp:v1.8.1 Atau registry.upbound.io/xp/getting-started-with-azure:v1.8.1 Untuk GCP dan Azure, masing-masing.

Jika Anda memilih Azure atau GCP, langkah selanjutnya akan sedikit berbeda, tetapi Anda dapat menemukannya di sini.

Langkah 5: Konfigurasikan kredensial

Kita punya … crossplane Di sistem lokal kami sudah siap, sekarang kami hanya perlu melewati kredit dari penyedia pilihan kami untuk dapat crossplane Dapat berbicara dengannya

Untuk AWS, ini dapat dilakukan sebagai berikut:

AWS_PROFILE=default && echo -e "[default]\naws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)\naws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf

Perhatikan bahwa ini adalah konfigurasi yang sama yang Anda terima saat Anda masuk ke AWS CLI.

Selanjutnya, kami membuat rahasia dari file ini:

kubectl create secret generic aws-creds -n crossplane-system --from-file=creds=./creds.conf

Dan habiskan di kami ProviderConfig

Saat Anda memiliki penyedia, cukup terapkan manifesto ini:

Dan statuskan menggunakan perintah ::

kubectl get postgresqlinstance my-db

dan voila! Anda memiliki sampel Postgres yang sudah jadi, begitu saja!

Pada dasarnya ada dua cara untuk membuat sumber daya dari titik ini, menggunakan Sumber Daya Kustom (CR) atau Sumber Daya Gabungan (XR).

Metode sumber kustom memungkinkan Anda membuat sumber dari definisi sumber daya yang disediakan dalam paket konfigurasi AWS. Ini adalah tren yang baru saja kita lihat. Anda dapat melihat definisi dan sintaksnya di sini.

Sumber daya hybrid, di sisi lain, dirancang untuk memungkinkan Anda membangun platform dengan konsep dan API yang Anda inginkan tanpa harus menulis pengontrol Kubernetes dari awal.

Sebagai gantinya, Anda mendefinisikan desain XR Anda dan mengajari Crossplane sumber daya terkelola apa yang harus dibuat (yaitu membuat) ketika seseorang membangun XR yang Anda tetapkan. Anda dapat membaca lebih lanjut tentang itu di sini.

AWS menyediakan peta XR ini di sini. Mari kita coba contoh tangki yang sama. Misalkan Anda ingin membuat VPC sendiri, Anda dapat menggunakan Komposisi terlebih dahulu dengan menerapkan konten yang ditampilkan di sini dengan menjalankan.

kubectl apply -f compositions/aws-provider/vpc

Dan kemudian terapkan XR:

Baiklah, kami membuat VPC menggunakan infrastruktur sebagai kode (IaC), sama seperti alat IaC lainnya. Apa yang spesial dari crossplane? Juga, mengapa klaster kubernetes perlu dijalankan sejak awal, mengapa tidak hanya CLI seperti Pulumi atau Terraform (setidaknya versi open source)?

Hal ini karena crossplane Ini bukan hanya tentang membangun infrastruktur, ini tentang memeliharanya.

Mari kita lihat bagaimana melakukannya dengan membuat sumber daya lain. Kali ini, cluster EKS

Gunakan repositori crossplane-aws-blueprints yang sama dan jalankan perintah ini (Anda ingin memperbarui beberapa detail seperti subnet-id)

kubectl apply -f compositions/aws-provider/ekskubectl apply -f examples/aws-provider/composite-resources/eks/eks-claim.yaml

Konfigurasi yang kami gunakan di sini adalah seperti ini

Di sini grup node yang dikelola harus memiliki setidaknya 2 node. Coba dan perbarui langsung dari konsol AWS ke 3.

Anda akan melihat bahwa itu membuat simpul ketiga tetapi segera konfigurasi kembali ke 2 dan simpul ketiga berakhir.

Crossplane tidak mengizinkan perubahan manual dalam sumber daya. Jika dilakukan perubahan, maka akan kembali ke konfigurasi awal/yang diinginkan.

Bagaimana jika saya mengatakan Anda dapat menginstal alat lain di cluster lintas manajemen yang membuat hidup Anda jauh lebih mudah?

Crossplane berjalan seiring dengan alat lain yang saya bicarakan di salah satu blog saya sebelumnya

Menggabungkan Crossplane (yang membuat infrastruktur Anda tetap mutakhir dengan kode) dengan aktivator GitOps seperti ArgoCD (yang melacak repositori Git Anda) berarti bahwa setiap perubahan yang Anda buat pada repositori Anda akan mencerminkan infrastruktur Anda.

Kebenaran yang lucu
Ada juga penyedia crossplane untuk menginstal argocd. Lihat disini.

Ada lebih banyak alat yang dapat Anda lampirkan ke arsitektur ini. Dapatkan KubeVela Sebagai contoh.

Singkatnya, KubeVela memungkinkan Anda mendeklarasikan jadwal penerapan sebagai alur kerja, menjalankannya secara otomatis dengan sistem CI / CD atau GitOps apa pun, dan memperluas atau menjadwal ulang langkah alur kerja dengan CUE .

Meskipun ini cukup meremehkan kemampuan KubeVela, ini seharusnya menjadi awal yang baik.

Sebagai anggota operasi, Anda dapat menentukan pemasok infrastruktur menggunakan Crossplane dan mengonfigurasi proses CI / CD menggunakan KubeVela.

Terakhir, Anda membuat repositori Git dan aplikasi ArgoCD yang melacaknya.

Sekarang anggota pemrogram Anda dapat menyediakan infrastruktur dan menerapkan program mereka di dalamnya, cukup git push Itu diabstraksikan dengan hampir semua komponen.

Mereka tidak perlu tahu bagaimana IaC atau Kubernetes bekerja di sini, mereka hanya perlu memahami sintaks satu. YAML mengajukan.

Alasan saya menambahkan ArgoCD dan KubeVela ke blog ini adalah untuk membantu Anda memahaminya. crossplane Itu tidak hanya membawa deteksi drift dan sinkronisasi otomatis ke meja.

Jika Anda mendesainnya dengan baik dan menggabungkannya dengan alat lain dalam adegan ini, Anda akan memahami nilai sebenarnya dari Crossplane.

Crossplane membawa evolusi baru ke IaC.

Kemampuan untuk tidak hanya membuat, tetapi juga memelihara konfigurasi infrastruktur hanya dicapai melalui kode kustom dan kerangka kerja internal.

Sekarang tersedia untuk semua orang dan saya berharap ini akan segera menjadi standar pasar yang diikuti oleh IaC lainnya.

Demikian postingan tentang Crossplane: Hal Besar Berikutnya untuk Infrastruktur sebagai Kode | Oleh Vaibhav Rajput | Juni 2022

, terimakasih sudah berkunjung di website ini, mudah-mudahan artikelnya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.