Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Kubernetes in DevOps - Part 2

Bài trước mình đã giới thiệu về cơ bản về Kubernetes, nội dung mang tính lý thuyết chém gió. Bài viết này sẽ trình bày cụ thể ở góc độ thực hành cách build 1 cluster Kubernetes
Kubernetes in DevOps
Để build 1 Kubernetes có 2 cách là build trên cloud hoặc build trên local. Trên cloud thì AWS và GCE đều cung cấp dịch vụ cài đặt config Kubernetes cluster rất nhanh chóng. Đó là dịch dụ AWS EKS (Elastic Container Service for Kubernetes ), trên local thì sử dụng tool minikube.
Phần này, mình hướng dẫn các bạn cách build Kubernetes trên cloud trước.


Kubernetes in DevOps
AWS EKS cho phép bạn deploy, run Kubernetes trên AWS. AWS EKS sẽ deploy Kubernetes master, rồi add các worker node vào cluster. Sau đó bạn có thể dùng Kubernetes command để kết nối và thao tác với Kubernetes.
Để có thể làm việc với Kubernetes trên AWS, bạn cần tạo 1 IAM Role cho EKS service
Truy cập https://console.aws.amazon.com/iam/, chọn Role, tạo 1 Role cho EKS
Kubernetes in DevOps
Nhập các thông tin cần thiết rồi create role
Kubernetes in DevOps
Ngoài ra, bạn có thể dùng CloudFormation để tạo Role theo template có sẵn cũng được, sẽ không phải nhập thông tin như trên, rất tiện lợi cho việc auto by scripting
Now, quay trở về trang tạo EKS cluster
Kubernetes in DevOps
Bạn sẽ thấy IAM role cho EKS hiển thị, sắp đó nhập thông tin cần thiết như VPC, security group
Kubernetes in DevOps
Bây giờ bạn đã tạo ra được 1 Cluster Kubernetes, status is Active
Kubernetes in DevOps
Sau khi đã tạo xong cluster, thì cần kết nối và làm việc với cluster này, bạn cần môi trường Linux Ubuntu, cài đặt sẵn AWS CLI, setup go programming language
Bạn cần cài đặt aws-iam-authenticator
go get -u -v github.com/kubernetes-sigs/aws-iam-authenticator/cmd/aws-iam-authenticator
Add aws-iam-authenticator vào $PATH
export PATH=$HOME/go/bin:$PATH && echo 'export PATH=$HOME/go/bin:$PATH' >> ~/.bashrc
Test that the aws-iam-authenticator binary works
aws-iam-authenticator help
Output như ở dưới là OK
Sử dụng lệnh AWS CLI update-kubeconfig để tạo hoặc cập nhật kubeconfig cho cluster
hello-kube là tên của cluster vừa tạo ở bước trên
Nếu bạn đã cài đặt AWS CLI trên hệ thống của mình, theo mặc định, AWS IAM cho Kubernetes sẽ sử dụng cùng thông tin đăng nhập được trả về bằng lệnh sau:
Thông tin arn tạo trên cluster được add vào credential trên máy của bạn
Dùng lệnh cat ./kube/config sẽ thấy thông tin của cluster hello-kube vừa được add vào trong configurion
Run command sau để test phần configuration
Như vậy bạn đã tạo 1 Kubernetes cluster. Tiếp theo là launch và configure worker node trong cluster này. Các worker node này thực chất là các EC2 instances
Mở AWS CloudFormation console, choose template như ở dưới
Kubernetes in DevOps
Nhập các thông tin cần thiết
Kubernetes in DevOps
Chọn next chờ quá trình hoàn thành bạn đã tạo được 1 worker node
Kubernetes in DevOps

Đăng nhận xét

0 Nhận xét