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

Sự Khác Nhau Giữa Domain và Hosting Là Gì?

Sự khác nhau giữa domain và hosting là gì? Bài này giải thích ngắn và dễ hiểu nh

Shared Hosting hay VPS Hosting: Lựa chọn nào dành cho bạn?

Bài viết giải thích rõ shared hosting và vps hosting là gì và hướng dẫn chọn lựa

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=