DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Series AWS EKS – Bài 4 – EKS Self Managed Node và EKS Managed Node Group

Hiếu Tạ by Hiếu Tạ
1 Tháng 5, 2025
in DevOps & Cloud
0
Series AWS EKS – Bài 4 – EKS Self Managed Node và EKS Managed Node Group
Share on FacebookShare on Twitter

Các bạn có thể đọc lại 3 bài trước của mình để hiểu hơn về eks nhé, còn trong bài này mình sẽ sơ qua khác nhau giữa 2/3 loại EKS Compute Resource và cách tạo chúng qua eksctl

https://devopsify.co/series-aws-eks-bai-1-tong-quan-ve-eks/
https://devopsify.co/series-aws-eks-bai-2-eks-qua-aws-web-console/
https://devopsify.co/series-aws-eks-bai-3-k8s-services-nodeport-loadbalancer-trong-aws-eks/

Cài eksctl

Chạy mớ lệnh sau để cài nhé

echo "===== INSTALL EKSCTL ======"
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin

echo "===== INSTALL EKSCTL COMPLETED ======"
echo "Your version:"
eksctl version

Tạo SSH key

Thông qua eksctl để cho phép kết nối đến worker node, thì tạo ra SSH key mặc định như sau

Related Post

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

29 Tháng 4, 2025
Đổi MTU cho Calico trong Kubernetes

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Tắt NLA trên Amazon EC2 Windows instance

30 Tháng 4, 2025

Demo Tích Hợp Vault trong Kubernetes

30 Tháng 4, 2025
ssh-keygen

EKS Cluster Self-Managed Nodes

Kiểu đơn giản thì là một cái node từ EC2 instance, được join vào trong cluster, chỉ có điều nó nằm trong 1 Auto Scaling Group (ASG). Và lưu ý là EKS KHÔNG quản lý ASG này.

Có thể sử dụng qua command-line hoặc yaml file, ở đây mình dùng qua yaml file

Step 1: Tạo file ex-cluster.yaml

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: demo-eksctl-cluster
  region: ap-southeast-1

nodeGroups:
  - name: node-group-1
    instanceType: t2.small
    desiredCapacity: 1 #so luong·worker node
    volumeSize: 8
    ssh:
      allow: true # will use ~/.ssh/id_rsa.pub as the default ssh key

Step 2: Tạo cluster qua ekscli

eksctl create cluster -f ex-cluster.yaml

Lúc này eksctl sẽ gọi đến AWS Cloud Formation để tạo các resources trên EKS

Kiểm tra lại ở giao diện EKS:

Step 3: kết nối vào cluster

Bước này thì mình đã có hướng dẫn ở bài 2

aws eks update-kubeconfig --name demo-eksctl-cluster --region ap-southeast-1
kubectl config use-context <TEN_CONTEXT>
kubectl get nodes

EKS Cluster Managed Nodes Groups

Đây cũng là một loại node group trong một ASG nào đó, nhưng ASG này được quản lý bởi EKS. Một vài tính năng trong số này có thể sử dụng với self managed node group. Tuy nhiên điểm trừ của nó là bị giới hạn một số loại AMI nhất định.

Step 1:

Lưu ý phần name sẽ đặt giống tên cluster mục 3 để khỏi phải tạo lại cluster khác cho nhanh 😀

vi managedNodeGroup.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: demo-eksctl-cluster
  region: ap-southeast-1

managedNodeGroups:
  - name: managed-ng-1
    instanceType: t2.small
    minSize: 1 #toi thieu phai co 1 instance
    maxSize: 2 #toi da phai co 1 instance
    desiredCapacity: 1
    volumeSize: 20
    ssh:
      allow: true # will use ~/.ssh/id_rsa.pub as the default ssh key
      publicKeyPath: ~/.ssh/id_rsa.pub
    labels: {role: worker}
    tags:
      nodegroup-role: worker
  - name: managed-ng-2
    instanceType: t3.small
    minSize: 1
    maxSize: 2

Step 2: Dùng lệnh tạo nodegroup

 eksctl create nodegroup  --config-file=managedNodeGroup.yaml

Tiếp tục nó cũng tương tự, cũng gọi đến CloudFormation

Step 3: Kiểm tra EKS

Step 4: Kiểm tra NodeGroup qua kubectl

Dùng lệnh sau để lấy labels, sau đó tìm kiếm qua label thông qua -l

kubectl get nodes --show-labels
kubectl get nodes -l "alpha.eksctl.io/nodegroup-name=node-group-1"
kubectl get nodes -l "alpha.eksctl.io/nodegroup-name=managed-ng-1"
kubectl get nodes -l "alpha.eksctl.io/nodegroup-name=managed-ng-2"

Deploy nginx

Mục này thì cũng giống mấy bài trước, mục đích test thử xem cluster tạo ra ổn không nên mình không giải thích lại nhé

kubectl create deployment demo-deployment --image=nginx --replicas 2
kubectl get pods -owide
kubectl get endpoints demo-lb-svc
kubectl get svc

Vậy là sau bài này chúng ta đã tìm hiểu được 2/3 loại compute resource của EKS, bài sau sẽ là EKS Fargate

Chúc các bạn thành công

Tags: awsAWS EKScloudcloud formationCloudformationcommanddemodeployec2eksEKS Clustergithubhướng dẫnid_rsak8snginxsshssh-keygenupdateyaml
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!
Tin tức

Ưu Đãi Đặc Biệt: Nhận Ngay Coupon Giảm 25% cho Bộ Đề Luyện Thi Cloud!

by devopsify
29 Tháng 4, 2025
Đổi MTU cho Calico trong Kubernetes
DevOps & Cloud

Đổi MTU cho Calico trong Kubernetes

by Hiếu Tạ
30 Tháng 4, 2025
Tắt NLA trên Amazon EC2 Windows instance
DevOps & Cloud

Tắt NLA trên Amazon EC2 Windows instance

by Hiếu Tạ
30 Tháng 4, 2025
Next Post
Fix lỗi java.lang.UnsupportedClassVersionError

Fix lỗi java.lang.UnsupportedClassVersionError

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

13 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify