Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

DevOps đã thay đổi rất nhiều cách các kỹ sư và nhà phát triển phần mềm phát triển và triển khai các ứng dụng. Một trong những công nghệ trung tâm của cuộc cách mạng này là Kubernetes.

Hãy cùng khám phá cách bạn có thể cài đặt phiên bản cục bộ của Kubernetes trên Ubuntu bằng MicroK8s (MicroKates). Với thiết lập này, bạn có thể dễ dàng lưu trữ các ứng dụng vùng chứa một cách an toàn, đáng tin cậy và có khả năng mở rộng cao.

Tại sao sử dụng MicroK8s?

Kubernetes là một nền tảng mã nguồn mở giúp hợp lý hóa các hoạt động của DevOps bằng cách tự động hóa việc triển khai, mở rộng quy mô và quản lý các ứng dụng được chứa trong vùng chứa. Kubernetes còn được gọi phổ biến là K8s, cái tên bắt nguồn từ việc đếm tám chữ cái giữa k s dưới tên Kubernetes. Hãy coi MicroK8s như một phiên bản Micro Kubernetes.

Hầu hết các môi trường đám mây cấp sản xuất công cộng và riêng tư chạy Ubuntu đều sử dụng Charmed Kubernetes để quản lý các ứng dụng được chứa trong vùng chứa. Tuy nhiên, thách thức với Charmed Kubernetes là nó đói tài nguyên và cần có kiến ​​thức tốt để định cấu hình đúng cách.

Đây là lúc MicroK8s xuất hiện. MicroK8s là một Kubernetes ngược dòng nhỏ và nhẹ, có thể chạy trên PC của nhà phát triển, thiết bị IoT hoặc trên các thiết bị biên mà không cần máy ảo. MicroK8s là nền tảng đa nền tảng và có thể chạy trên cả kiến ​​trúc Intel và ARM.

MicroK8s cung cấp cho bạn một trong những cách tốt nhất để tự làm quen với Kubernetes, với mức ma sát tối thiểu. Đây là một Kubernetes được chứng nhận về thượng nguồn bởi Cloud Native Computing Foundation (CNCF), đảm bảo rằng việc triển khai Kubernetes là phù hợp và có thể tương tác theo các tiêu chuẩn ngành cụ thể.

Bước 1:Cài đặt MicroK8s trên Ubuntu

Bạn có thể dễ dàng cài đặt MicroK8s trên Ubuntu bằng lệnh snap.

sudo snap install microk8s --classic

Ngoài ra, bạn có thể cài đặt MicroK8s từ GUI bằng Trung tâm phần mềm Ubuntu. Chỉ cần tìm kiếm microk8s rồi nhấp vào nút Cài đặt nút.

Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Bước 2:Định cấu hình Tường lửa của bạn cho MicroK8s

Để đảm bảo giao tiếp liền mạch giữa các nhóm và với internet, bạn nên bật giao tiếp đến và đi trên giao diện mạng vùng chứa của tường lửa.

Một pod là đơn vị tính toán có thể triển khai nhỏ nhất trong Kubernetes; nó có thể là một hoặc một nhóm các vùng chứa với tài nguyên mạng và lưu trữ được chia sẻ, v.v.

sudo ufw allow in on cni0 && sudo ufw allow out on cni0

Sau đó, chạy lệnh sau:

sudo ufw default allow routed

Tìm hiểu thêmCách cấu hình tường lửa Ubuntu với UFW

Bước 3:Thêm người dùng của bạn vào nhóm MicroK8s

Hiện tại, bạn sẽ phải sử dụng sudo lệnh để chạy hầu hết các lệnh của MicroK8s. Mặc dù đây là một biện pháp bảo mật tốt trên máy chủ sản xuất, nhưng nó có thể không cần thiết trên máy phát triển.

Thêm người dùng của bạn vào nhóm MicroK8s để tránh sử dụng sudo.

sudo usermod -aG microk8s $USER

Ngoài ra, hãy đặt người dùng hiện tại của bạn làm chủ sở hữu của ~ / .kube thư mục.

sudo chown -f -R $USER ~/.kube

Để các thay đổi có hiệu lực, hãy tải lại các nhóm người dùng bằng cách chạy lệnh sau:

newgrp microk8s

Tìm hiểu thêm:Cách quản lý nhóm người dùng trên Linux

Bước 4:Bật các Phần bổ trợ Quan trọng

Theo mặc định, MicroK8s chứa mức tối thiểu để đạt được dấu chân tối thiểu trên các thiết bị IoT và edge. Tuy nhiên, bạn có thể cài đặt một vài addon quan trọng để quản lý các dịch vụ của MicroK8s. Bật tiện ích bổ sung DNS, trang tổng quan và bộ nhớ với microk8s lệnh.

microk8s enable dns dashboard storage

Tiện ích bổ sung DNS có thể được yêu cầu bởi các dịch vụ khác, vì vậy bạn nên luôn bật tiện ích này.

Tiện ích bổ sung bảng điều khiển cung cấp cho bạn tổng quan đồ họa về các dịch vụ trong MicroK8s; bạn cũng có thể sử dụng nó để quản lý các dịch vụ.

Bạn có thể xem danh sách các tiện ích bổ sung MicroK8s có sẵn bằng cách chạy lệnh:

microk8s status

Bước 5:Xem Trang tổng quan MicroK8s

Bây giờ bạn đã bật tiện ích bổ sung trang tổng quan, bạn có thể dễ dàng truy cập trang tổng quan MicroK8s từ trình duyệt web của mình.

Đầu tiên, bạn cần địa chỉ IP của nhóm bảng điều khiển. Bạn có thể lấy nó bằng cách chạy lệnh:

microk8s kubectl get all --all-namespaces
Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Từ đầu ra của lệnh ở trên, bạn sẽ nhận thấy rằng kubernetes-dashboard dịch vụ đang chạy trên địa chỉ IP 10.152.183.35 và đang lắng nghe trên cổng TCP 443. Lưu ý rằng địa chỉ IP này có thể khác với địa chỉ đang được dịch vụ bảng điều khiển của bạn sử dụng vì nó được tạo ngẫu nhiên.

Trong trình duyệt của bạn, hãy truy cập địa chỉ IP được liệt kê. Trong trường hợp này, nó sẽ là https://10.152.183.35:443 . Đảm bảo rằng bạn trỏ đến đúng URL.

Vì mục đích bảo mật, bảng điều khiển Kubernetes sẽ yêu cầu bạn cung cấp chi tiết xác thực để đăng nhập. Bạn có thể truy cập mã thông báo bảng điều khiển mặc định bằng cách chạy lệnh sau. Sau đó, sao chép kubernetes.io/service-account-token trình bày và dán nó vào đầu vào mã thông báo.

token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Trang tổng quan trình bày cho bạn tổng quan về khối lượng công việc, dịch vụ, cấu hình, cụm của MicroK8s, v.v.

Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Bước 6:Tạo dịch vụ với MicroK8s

Để xem các MicroK8 đang hoạt động, hãy tạo một triển khai dịch vụ microbot có chứa hai nhóm. Tạo nhóm bằng kubectl lệnh:

microk8s kubectl create deployment microbot --image=dontrebootme/microbot:v1

Chia tỷ lệ nhóm microbot bằng lệnh bên dưới.

microk8s kubectl scale deployment microbot --replicas=2

Tạo một dịch vụ để triển khai microbot.

microk8s kubectl expose deployment microbot --type=NodePort --port=80 --name=microbot-service

Hiện chúng tôi đã triển khai hai nhóm microbot dưới tên service / microbot-service . Bạn có thể xem chi tiết của dịch vụ microbot và các dịch vụ khác bằng cách chạy lệnh sau:

microk8s kubectl get all --all-namespaces
Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Bạn sẽ nhận thấy rằng dịch vụ microbot đang chạy trên NodePort, do đó, bạn có thể truy cập nó thông qua trình duyệt trên PC của mình. Trong trường hợp này, dịch vụ đang chạy trên cổng được tạo ngẫu nhiên 30353.

Trong trình duyệt của bạn, truy cập URL https:// localhost:30353, ở đâu 30353 là số cổng được liệt kê trong đầu ra ở trên. Đảm bảo rằng bạn đang sử dụng đúng số cổng.

Cách thiết lập phiên bản Kubernetes cục bộ với MicroK8s trên Ubuntu

Kubernetes vs. Docker:Bạn nên chọn cái nào?

Hướng dẫn này đã xem xét cách cài đặt cục bộ Kubernetes tối thiểu trên PC hoặc thiết bị cạnh của bạn. Kubernetes là một phần của quy trình làm việc của nhiều nhà phát triển và được sử dụng rộng rãi để triển khai các ứng dụng container quy mô lớn trong sản xuất.

Kubernetes được sử dụng để quản lý hoặc sắp xếp một nhóm các vùng chứa, ví dụ:thùng chứa docker, một cách dễ dàng. Mặt khác, Standalone Docker chủ yếu được sử dụng để quản lý các vùng chứa đơn lẻ. Việc lựa chọn sử dụng Docker hay Kubernetes sẽ phụ thuộc vào năng lực của nhóm bạn và quy mô của phần mềm để triển khai cho sản xuất.