GNU/Linux >> Belajar Linux >  >> Linux

Cara Menyebarkan Cluster Kubernetes Di AWS Dengan Amazon EKS

Dalam artikel ini, kita akan belajar tentang cara menerapkan Cluster Kubernetes di AWS dengan Amazon EKS dan cara menginstal dan mengonfigurasi AWS CLI dan Kubectl untuk berinteraksi dengan klaster EKS dari commandline di Linux.

Sebelum menerapkan cluster Kubernetes di AWS cloud menggunakan Amazon Elastic Kubernetes Service, pastikan Anda memiliki akun AWS. Jika Anda tidak memiliki akun AWS, lihat Pengantar Amazon Web Services (AWS) kami artikel untuk mengetahui cara membuatnya.

1. Setup Cluster EKS (Master Node)

Untuk membuat klaster EKS di AWS, Anda harus memiliki peran IAM yang sudah dibuat.

1.1. Buat peran IAM

Cluster Kubernetes yang dikelola Amazon EKS melakukan panggilan atas nama Anda ke layanan AWS lain untuk mengelola sumber daya yang Anda gunakan dengan layanan tersebut.

Anda harus terlebih dahulu membuat peran IAM dengan kebijakan IAM berikut sebelum Anda dapat membuat klaster Amazon EKS:

AmazonEKSClusterPolicy

Masuk ke konsol AWS Anda dan cari 'IAM'. Pilih layanan IAM untuk masuk ke Konsol IAM.

Pilih Peran di opsi sisi kiri lalu klik Buat peran.

Pilih layanan AWS dan pilih 'EKS – Cluster' di opsi Use case. Setelah dipilih, klik 'Berikutnya' untuk melanjutkan.

Pastikan 'AmazonEKSClusterPolicy' ditambahkan, secara default akan ditambahkan saat kami memilih EKS-Cluster dalam kasus penggunaan. Klik Berikutnya untuk melanjutkan lebih jauh.

Pada langkah selanjutnya, atur nama peran. Di sini, kami menamai peran tersebut sebagai 'ostechnix_eks'. Tinjau semua parameter dan klik 'buat' di bagian akhir untuk membuat peran.

Di sini kami tidak menambahkan tag apa pun untuk peran ini. Jika kita berurusan dengan banyak sumber daya, akan berguna memiliki tag untuk mengelola, mengidentifikasi, dan memfilter sumber daya.

Peran baru bernama 'ostechnix_eks' baru saja dibuat.

1.2. Buat Klaster EKS

Buka AWS Console dan cari dengan 'EKS'. Pilih 'Layanan Kubernetes Elastis' untuk masuk ke konsol EKS.

Dari kotak tarik-turun 'Tambahkan cluster', pilih opsi 'buat' cluster.

Anda akan mendapatkan halaman 'Configure Cluster' di mana Anda dapat memberi nama cluster, pilih versi Kubernetes dan pilih peran layanan cluster yang kami buat pada langkah sebelumnya.

Di sini, kami menamai cluster tersebut sebagai 'ostechnix', dan memilih Kubernetes versi 1.21.

Jika Anda tidak menemukan peran tersebut, segarkan kembali peran tersebut. Pilih peran dan klik 'berikutnya' untuk melanjutkan.

Dalam 'Tentukan Jaringan' ini, Anda perlu mengonfigurasi jaringan. Di sini kita melanjutkan dengan opsi default.

Pilih VPC yang ada, VPC adalah Virtual Private Cloud di mana Anda dapat membuat sumber daya AWS di Jaringan Virtual yang telah Anda tentukan. Lanjutkan dengan subnet default yang tersedia di VPC default.

Pilih IPv4 sebagai keluarga alamat IP Cluster. Ini adalah default.

Pilih 'Publik' untuk akses Titik Akhir Cluster yang hanya memungkinkan akses publik ke cluster Anda. Jika Anda memilih 'Pribadi', ini hanya memungkinkan akses pribadi ke cluster Anda. Di sini, kami melanjutkan dengan Publik yang merupakan default.

Anda dapat melanjutkan dengan 'Pengaya Jaringan' default dan klik 'Berikutnya'.

Anda akan mendapatkan halaman 'Configure logging' di mana Anda dapat memilih jenis log mana yang ingin Anda aktifkan. Secara default, semua jenis dinonaktifkan. Klik 'Berikutnya' untuk melanjutkan.

Anda akan mendapatkan halaman 'Tinjau dan Buat'. Tinjau semua detail yang kami konfigurasikan dan klik 'Buat' di bagian bawah.

Pembuatan cluster akan berlangsung. Pembuatannya akan memakan waktu beberapa menit.

Cluster EKS baru bernama 'ostechnix' telah dibuat. Anda dapat memverifikasi di AWS Console🡪Amazon EKS🡪Clusters.

Selanjutnya, kita perlu menginstal dan mengonfigurasi AWS CLI dan Kubectl untuk berinteraksi dengan klaster EKS dari commandline.

Untuk mengonfigurasi kredensial AWS CLI, Anda perlu membuat kredensial keamanan di AWS IAM.

2. Buat Kredensial Keamanan

Masuk ke konsol AWS dan cari dengan IAM. Pilih IAM untuk masuk ke konsol IAM.

Pilih opsi 'Kredensial keamanan saya' yang tersedia di sebelah kanan untuk membuat dan mengelola kredensial keamanan Anda.

Klik kotak tarik-turun 'Access Keys' dan klik opsi 'Create New Access Key'.

Setelah Anda mengklik opsi 'Buat Kunci Akses Baru', kunci akan dibuat. Unduh kunci untuk mengonfigurasi AWS CLI di mesin Linux. Anda dapat melihat kunci dengan mencentang 'Tampilkan kunci Akses'.

Dalam demonstrasi ini kuncinya adalah,

  • ID Kunci Akses: AKIAV7XU2AIJBX4EYKUO
  • Kunci Akses Rahasia: jicg/UZyZfb92zuYNnEAE0MVSJisHb0Mlgac2Doe

3. Instal AWS CLI

AWS CLI adalah antarmuka baris perintah yang menyatukan semua layanan AWS dalam satu terminal, memungkinkan Anda untuk mengoperasikan banyak layanan AWS dengan satu alat.

Gunakan curl di bawah ini perintah untuk mengunduh file instalasi. Di sini, kami menggunakan 'CentOS Stream' untuk menginstal dan mengonfigurasi AWS CLI.

[[email protected] ~]# curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

Buka zip file penginstal menggunakan perintah di bawah ini.

[[email protected] ~]# unzip awscliv2.zip

Instal AWS CLI menggunakan perintah di bawah ini.

[[email protected] ~]# ./aws/install
You can now run: /usr/local/bin/aws --version

Verifikasi versi menggunakan perintah yang disebutkan di atas.

[[email protected] ~]# /usr/local/bin/aws --version
aws-cli/2.4.17 Python/3.8.8 Linux/4.18.0-358.el8.x86_64 exe/x86_64.centos.8 prompt/off

4. Konfigurasikan AWS CLI

Gunakan perintah di bawah ini untuk mengonfigurasi AWS CLI. Ini akan meminta ID Kunci Akses dan Kunci Akses Rahasia yang kami buat di bagian 2.

[[email protected] ~]# /usr/local/bin/aws configure
AWS Access Key ID [None]: AKIAV7XU2AIJBX4EYKUO
AWS Secret Access Key [None]: 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
Default region name [None]:
Default output format [None]:
[[email protected] ~]#

5. Instal Kubectl

Kubernetes berkomunikasi dengan server API cluster melalui utilitas baris perintah kubectl.

Gunakan perintah curl di bawah ini untuk mengunduh biner kubectl vending Amazon EKS dari Amazon S3.

[[email protected] ~]# curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/linux/amd64/kubectl

Tambahkan izin eksekusi ke biner menggunakan perintah di bawah ini.

[[email protected] ~]# chmod +x ./kubectl

Salin biner ini ke folder di jalur Anda dan ekspor $PATH .

[[email protected] ~]# mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin

Ekspor PATH ke ~/.bashrc :

[[email protected] ~]# echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

Kubectl terinstal, Anda dapat memverifikasi versi menggunakan perintah di bawah ini.

[[email protected] ~]# kubectl version --short --client
Client Version: v1.21.2-13+d2965f0db10712

6. Konfigurasi Kubectl

Saat ini kubectl tidak tahu di mana node Master EKS berada di AWS. Kami perlu memberi tahu kubectl di mana lokasi server Master dengan menyebutkan region nama dan cluster r nama.

Gunakan perintah di bawah ini untuk memeriksa status Klaster EKS.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 describe-cluster --name ostechnix --query cluster.status
"ACTIVE"

Update file kubeconfig untuk menggunakan kubectl untuk berinteraksi dengan cluster EKS. Ini akan mengambil semua konfigurasi dari node Master ke file kubeconfig.

[[email protected] ~]# /usr/local/bin/aws eks --region ap-south-1 update-kubeconfig --name ostechnix
Added new context arn:aws:eks:ap-south-1:411756528146:cluster/ostechnix to /root/.kube/config

Verifikasi kubectl dengan memeriksa layanan menggunakan perintah di bawah ini. Anda dapat memastikan bahwa Kubectl dapat terhubung dengan cluster EKS.

[[email protected] ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   105m

Kesimpulan

Dalam artikel ini, kita telah mempelajari cara menyediakan klaster Amazon EKS dan cara menyiapkan AWS CLI dan Kubectl untuk klaster EKS di platform Linux.

Saya telah berhasil menerapkan cluster Kubernetes di AWS cloud, sekarang bagaimana? Anda mungkin bertanya-tanya. Silakan periksa panduan kami berikutnya untuk mengetahui cara menambahkan Grup Node dan mengonfigurasi node pekerja di klaster AWS EKS.

  • Cara Menambahkan Node Pekerja ke Kluster Amazon EKS

Linux
  1. Cara memantau ruang disk kosong di Amazon EC2 dengan Cloud Watch

  2. Cara men-deploy pod pertama Anda di Cluster Kubernetes

  3. Siapkan cluster Kubernetes dengan Rancher

  1. Cara Mengatur Cluster Kubernetes dengan Rancher

  2. Cara Menyebarkan Cluster Redis di Kubernetes

  3. Cara Menyebarkan RabbitMQ di Kubernetes

  1. Cara Menyebarkan PostgreSQL di Kubernetes

  2. Cara Memasang Cluster Kubernetes (k8s) di RHEL 8

  3. Cara Mengatur Cluster Kubernetes(k8s) di HA dengan Kubeadm