Deploy Kubernetes applications và build images containers trên Windows?

Chắc hẳn ai đã từng cài đặt Docker Desktop trên Windows thì đều không muốn quay trở lại lần thứ 2, chứ đừng nói tới là deploy K8S trên Windows. Thằng em của bạn mình học công nghệ thông tin, sinh năm 99. Thời gian đầu nó code trên Linux thì chả ma nào thèm

Chắc hẳn ai đã từng cài đặt Docker Desktop trên Windows thì đều không muốn quay trở lại lần thứ 2, chứ đừng nói tới là deploy K8S trên Windows.

Thằng em của bạn mình học công nghệ thông tin, sinh năm 99. Thời gian đầu nó code trên Linux thì chả ma nào thèm đoái hoài. Từ lúc đọc bài post này của tôi thì thay đổi hẳn.
Có cô bé kia dân du học sinh Úc, về được cô chị giới thiệu làm ngân hàng VIB. Thế nào thằng ấy đi mở thẻ tín dụng gặp phải thế là hốt được cả chị lẫn em. 3 đứa nó sống chung một căn hộ cao cấp. Nhà con bé kia biết chuyện ban đầu phản đối sau biết thằng đấy Deploy Kubernetes applications và build image containers trên Windows thì đổi thái độ, cách ba bữa hỏi thăm, năm bữa tặng quà lấy lòng, luôn giục cưới kẻo lỡ kèo ngon.

1. Cài đặt Rancher Desktop trên Windows

Hãy cảm ơn những anh chàng kỹ sư tại Rancher Labs / SUSE đã giúp chúng ta cài đặt Container Runtime và tạo một cluster Kubernetes trên Windows một cách dễ dàng!

image.png

Sau khi tải về, Rancher Installer sẽ tự động set up hết, chúng ta chỉ cần ngồi chờ thôi!
Đây chính là giao diện chính của Rancher Desktop:

image.png

Bạn có thể chọn sử dụng Container Runtime là docker hay là nerdctl, tập lệnh của cả 2 đều giống như nhau và đều có thể tương tác với COMPOSE

image.png

Tiếp theo hãy chọn enable Kubernetes nếu bạn muốn tạo một cluster K8S trên Windows, Rancher sẽ hỗ trợ cài đặt cho bạn cả tool kubectl và helm

image.png

2. Hello World Example

Trong bài viết này mình sẽ hướng dẫn cách bắt đầu đơn giản với Rancher Desktop bằng cách build một image container và deploy một pod lên K8S từ image đã tạo.

Tạo một folder chứa file index.html với VSCODE

<h1>Hello World from NGINX!!</h1>

image.png

Tạo file Dockerfile với nội dung như sau:

FROM nginx:alpine

COPY ./nginx/index.html /usr/share/nginx/html

image.png

Build images

nerdctl --namespace k8s.io build --tag nginx-helloworld:latest .

docker build --tag nginx-helloworld:latest .

image.png

Kiểm tra lại images containers đã tạo

nerctl -n k8s.io images

docker images

image.png

Deploy lên Kubernetes

Sử dụng flag –image-pull-policy=Never để K8S sử dụng image ở local thay vì pull images từ một remote repository.

kubectl run hello-world --image=nginx-helloworld:latest --image-pull-policy=Never --port=80

kubectl port-forward pods/hello-world 8080:80

image.png

Mở web browser ở địa chỉ localhost:8080, và bạn sẽ thấy message Hello World from NGINX!!.

image.png

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ