Cách chạy cụm Kubernetes của riêng bạn với MicroK8s
MicroK8s là một bản phân phối Kubernetes gói đơn nhẹ được phát triển bởi Canonical, được biết đến nhiều nhất với hệ điều hành Ubuntu. MicroK8s tuân theo các bản phát hành Kubernetes ngược dòng và tập trung vào việc cung cấp trải nghiệm cài đặt và quản lý dễ dàng. Đây là cách bắt đầu chạy cụm của riêng bạn.
Cài đặt
MicroK8s có sẵn trên Linux, Windows và macOS. Một trình cài đặt Windows đồ họa được cung cấp trên trang web của dự án. người dùng macOS nên sử dụng Brew trong khi người dùng Linux được phục vụ nhanh chóng.
Làm theo các bước cài đặt Snap riêng biệt nếu bạn thiếu snapd
trên hệ thống của mình. Sau đó, sử dụng lệnh snap install
để thêm MicroK8s:
sudo snap cài đặt microk8s --classic
Điều này cài đặt phiên bản MicroK8s mới nhất. Bạn có thể chọn một thông cáo cụ thể bằng cách sử dụng --channel
cờ:
sudo snap cài đặt microk8s --classic --channel = 1.19 / ổn định
Điều này sẽ cung cấp cho bạn phiên bản MicroK8s dựa trên Kubernetes v1.19.
Quá trình cài đặt có thể mất một lúc để hoàn tất khi các dịch vụ Kubernetes khởi động. microk8s status --wait-ready
đang chạy – sẵn sàng cho phép bạn kiểm tra tiến trình để biết khi nào MicroK8s sẵn sàng sử dụng.
Tương tác với nhóm của bạn
MicroK8s đóng gói phiên bản riêng của công cụ dòng lệnh Kubectl. Sử dụng microk8s kubectl
để tương tác với cụm của bạn, thêm một lệnh kubectl
sudo microk8s kubectl nhận tất cả - tất cả các không gian tên
Lệnh này hiển thị tất cả các tài nguyên trong cụm của bạn.
Tiếp theo, tạo một tệp kê khai cơ bản để triển khai:
apiVersion : v1 loại : Pod siêu dữ liệu : tên : my-pod đặc điểm kỹ thuật : thùng chứa : - tên : nginx hình ảnh : nginx: mới nhất các cổng : - tên : http containerPort : 80 giao thức : TCP
Áp dụng tệp kê khai cho cụm của bạn:
sudo microk8s kubectl áp dụng -f ./manifest.yaml
MicroK8s sẽ tạo một Pod mới chạy máy chủ web NGINX. Nó sẽ hiển thị khi bạn chạy lại microk8s kubectl get all
.
MicroK8s tương thích với tất cả các lệnh Kubectl. Nếu bạn muốn bỏ microk8s
, bạn có thể sử dụng kubectl
nhị phân kubectl “thực” để thay thế:
sudo microk8s kubectl config view --raw> $ HOME / .kube / config
Thao tác này xuất thông tin kết nối MicroK8s vào tệp cấu hình Kubernetes của bạn, cho phép kubectl
đơn giản truy cập vào cụm của bạn.
Hầu hết các lệnh của MicroK8s đều yêu cầu quyền truy cập siêu người dùng. Để sử dụng lâu dài, hãy thêm tài khoản người dùng của bạn vào microk8s
để bạn không cần sử dụng sudo
mỗi lần:
sudo usermod -aG microk8s $ USER
Truy cập hình ảnh Docker
MicroK8s không thể tự động truy cập hình ảnh Docker cục bộ của bạn. Nếu bạn muốn triển khai một hình ảnh mà bạn vừa tạo, hãy nhập thủ công nó vào sổ đăng ký MicroK8s bằng cách xuất nó dưới dạng kho lưu trữ tar
docker lưu hình ảnh của tôi: mới nhất> my-image.tar hình ảnh ctr microk8s nhập my-image.tar
Bây giờ Pod của bạn có thể tham chiếu thành công hình ảnh. Bạn có thể liệt kê tất cả các hình ảnh đã biết trong sổ đăng ký MicroK8s bằng lệnh microk8s ctr images ls
.
Ngoài việc sử dụng đơn giản trên máy cục bộ, bạn nên thiết lập sổ đăng ký hình ảnh Docker chuyên dụng để lưu giữ hình ảnh của bạn. Đẩy hình ảnh vào đó và cấp quyền truy cập kéo cho MicroK8s để nó có thể truy xuất chúng từ bộ nhớ của bạn. Các bước để làm theo tùy thuộc vào cấu hình đăng ký của bạn.
Bật Bảng điều khiển Kubernetes
Bảng điều khiển web Kubernetes đi kèm với MicroK8s nhưng bị tắt theo mặc định. Bạn có thể kích hoạt nó bằng cách bật addon của nó, sau đó điều hướng đến địa chỉ IP của dịch vụ bảng điều khiển.
microk8s kích hoạt bảng điều khiển
Dịch vụ có thể mất một vài phút để bắt đầu. Chạy microk8s kubectl get services --namespace kube-system
và đợi kubernetes-dashboard
hiển thị. Ghi lại CLUSTER-IP
của nó và truy cập địa chỉ của nó trong trình duyệt của bạn. Bảng điều khiển Kubernetes sẽ xuất hiện, cho phép bạn tương tác với các tài nguyên của mình bằng giao diện đồ họa.
Sử dụng thêm Addon
MicroK8s đi kèm với một số bổ trợ tùy chọn khác cho các trường hợp sử dụng phổ biến. dns
bổ sung hỗ trợ cho việc triển khai DNS, storage
cung cấp lớp lưu trữ mặc định dựa trên các thư mục máy chủ và việc ingress
cung cấp bộ điều khiển nhập cho phép bạn tạo tài nguyên định tuyến Ingress
registry
là một dịch vụ đặc biệt triển khai sổ đăng ký Docker sẵn sàng sử dụng trên localhost:32000
. Sử dụng sổ đăng ký cung cấp không gian lưu trữ riêng tư mà bạn có thể đẩy hình ảnh của mình lên trước khi sử dụng chúng trong Kubernetes Pods của bạn. Tương tự, istio
khởi chạy lưới Istio để cung cấp các chức năng khám phá dịch vụ.
Mô tả đầy đủ về các addon này được cung cấp trong tài liệu MicroK8s. Bạn có thể xem tất cả các phần bổ trợ có sẵn trong cài đặt của mình bằng cách chạy microk8s enable
mà không có bất kỳ đối số nào. Theo mặc định, chỉ có chức năng Kubernetes tối thiểu nhất là hoạt động vì MicroK8s tập trung vào việc cung cấp trải nghiệm hợp lý.
Quản lý cụm của bạn
Tất cả các chức năng quản lý cụm được cung cấp bởi lệnh microk8s
microk8s status
đang chạy hiển thị tổng quan về cụm của bạn, bao gồm cả việc nó có đang chạy hay không và danh sách các phần bổ trợ đang hoạt động.
Để tắt cụm của bạn, hãy chạy microk8s stop
. Thao tác này sẽ dừng tất cả các dịch vụ, đưa mọi thứ vào ngoại tuyến. Bạn khởi động lại cụm bằng lệnh microk8s start
Có thể mất một vài phút để tất cả các dịch vụ của bạn chạy.
Bạn có thể xem chi tiết kết nối cụm của mình bằng cách chạy microk8s config
. Điều này tạo ra một tệp YAML tương thích với Kubectl, sẵn sàng để sử dụng với các công cụ khác.
Chạy microk8s reset
sẽ đặt lại cụm của bạn về trạng thái ban đầu sau khi cài đặt. Đây là một hoạt động phá hủy tốn thời gian sẽ phá hủy tất cả tài nguyên của bạn. Nó tạo điều kiện thuận lợi cho việc thử nghiệm bằng cách cho phép bạn chia nhỏ mọi thứ mà không cần tháo chụp MicroK8s. Ổ đĩa lưu trữ Kubernetes sẽ được giữ lại theo mặc định; bạn cũng có thể xóa chúng bằng cách thêm --destroy-storage
.
Các cụm nhiều nút
Mặc dù MicroK8s bắt đầu như một dự án một nút, giờ đây bạn có thể thêm các nút phụ vào cụm của mình. Các nút bổ sung cung cấp cho bạn khả năng dự phòng, cũng như tăng khả năng khối lượng công việc. Mỗi nút yêu cầu môi trường cách ly hoàn toàn của riêng nó – một máy vật lý, máy ảo hoặc vùng chứa riêng biệt. Bạn không thể chạy hai phiên bản công nhân MicroK8s trong cùng một môi trường.
Đầu tiên hãy chạy microk8s add-node
trên nút ban đầu của bạn. Đây sẽ trở thành bậc thầy điều khiển điều khiển máy bay điều khiển Kubernetes.
nút bổ sung microk8s
Lệnh tạo đăng ký tạm thời cho nút mới. Nó sẽ xuất ra một microk8s join
sẽ tham gia nút vào mặt phẳng điều khiển. Quá trình tham gia sẽ mất vài giây để hoàn tất. Nút phải có thể liên hệ với chủ của bạn qua địa chỉ mạng được hiển thị.
Sau khi nút được thêm, nó sẽ đủ điều kiện để lưu trữ Nhóm của bạn. Bạn có thể xem tất cả các nút có sẵn bằng cách chạy microk8s kubectl get nodes
.
Loại bỏ một nút khỏi cụm là một bài tập về đảo ngược. Đầu tiên, chạy microk8s leave
trên nút đích. Sau đó, chạy microk8s remove-node 10.108.0.1
trên chính, thay thế bằng địa chỉ IP của nút đã xóa. Điều này sẽ thông báo cho tất cả các nút khác về việc loại bỏ. Nút đích sẽ hoàn nguyên về cài đặt MicroK8s độc lập thông thường, trở thành nút chính của chính nó.
Sự kết luận
MicroK8s là một bản phân phối Kubernetes tối thiểu, dễ dàng tự lưu trữ trên phần cứng của riêng bạn. Nó hoàn toàn tuân thủ CNFC và đi kèm với các phần bổ trợ tích hợp cho bảng điều khiển Kubernetes chính thức, định tuyến Ingress và lưới dịch vụ Istio. Những điều này giúp bạn nhanh chóng thiết lập cụm sẵn sàng sản xuất của riêng mình có khả năng khớp với các dịch vụ Kubernetes được quản lý từ các nhà cung cấp đám mây công cộng.
MicroK8s hỗ trợ một loạt các kiến trúc phần cứng và triển khai. Nó hoạt động trên các máy trạm của nhà phát triển, trong các môi trường sản xuất có tính khả dụng cao và trên Raspberry Pi. Tính linh hoạt này cho phép bạn sử dụng chính xác cùng một công nghệ trong quá trình phát triển và sản xuất, ngay cả khi triển khai Kubernetes.
So với các dự án đối thủ như Minikube, MicroK8s vượt trội khi chạy trong môi trường hạn chế tài nguyên với chi phí tối thiểu. Nó được hưởng lợi từ việc lưu trữ riêng, sử dụng định dạng gói snap, vì vậy không có máy ảo nặng nào để chạy. Điều này giúp bạn có nhiều khả năng hơn để lưu trữ khối lượng công việc của mình và các công cụ dành cho nhà phát triển khác.
Mặc dù MicroK8s bắt đầu hoạt động như một dự án lấy nhà phát triển làm trung tâm, nhắm mục tiêu thử nghiệm và tạo mẫu cục bộ, nhưng giờ đây nó được tính là một bản phân phối Kubernetes sẵn sàng sản xuất với hồ sơ đã được chứng minh về việc theo sát các bản phát hành ngược dòng. Các cụm có thể được nâng cấp lên các bản phát hành Kubernetes mới bằng cách sử dụng lệnh snap refresh microk8s
.
Dịch từ: https://www.cloudsavvyit.com/13024/how-to-run-your-own-kubernetes-cluster-with-microk8s/