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!
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:
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
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
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>
Tạo file Dockerfile với nội dung như sau:
FROM nginx:alpine
COPY ./nginx/index.html /usr/share/nginx/html
Build images
nerdctl --namespace k8s.io build --tag nginx-helloworld:latest .
docker build --tag nginx-helloworld:latest .
Kiểm tra lại images containers đã tạo
nerctl -n k8s.io images
docker images
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
Mở web browser ở địa chỉ localhost:8080
, và bạn sẽ thấy message Hello World from NGINX!!.
Nguồn: viblo.asia