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