Minikube là một công cụ mã nguồn mở miễn phí đi kèm với một bộ tiện ích bổ sung tích hợp giúp bạn thiết lập cụm Kubernetes trong hệ thống cục bộ của mình. Lệnh 'minicube' cung cấp một số lệnh phụ cho phép bạn quản lý cụm Kubernetes thông qua giao diện dòng lệnh. Minikube là công cụ đa nền tảng và hỗ trợ nhiều hệ điều hành, bao gồm Linux, macOS và Windows. Nó có thể được triển khai dưới dạng VM, container hoặc trên máy chủ trần.
Hướng dẫn này sẽ hướng dẫn cách cài đặt Minikube trên Debian 11.
Sau khi cài đặt Docker, bạn có thể xác minh phiên bản Docker bằng lệnh sau lệnh.
Bạn sẽ thấy kết quả sau.
Đầu tiên, cài đặt gói Snap bằng lệnh sau.
Tiếp theo, tạo liên kết tượng trưng cho gói Snap bằng lệnh sau.
Tiếp theo, thêm đường dẫn Snap vào hệ thống của bạn hồ sơ.
Tiếp theo, khởi động và kích hoạt dịch vụ Snap bằng lệnh sau.
Tiếp theo, cài đặt gói kubectl bằng lệnh sau lệnh.
Tiếp theo, tạo liên kết tượng trưng của gói kubectl bằng lệnh sau.
Bây giờ, hãy xác minh phiên bản kubectl bằng lệnh sau lệnh.
Bạn sẽ thấy đầu ra sau:
Đầu tiên, tải xuống Minikube bằng lệnh sau.
Tiếp theo, sao chép tệp nhị phân Minikube vào đường dẫn hệ thống.
Tiếp theo, đặt quyền thực thi bằng lệnh sau lệnh.
Bây giờ, hãy xác minh phiên bản Minikube bằng lệnh sau.
Bạn sẽ nhận được thông báo sau đầu ra.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Lệnh này sẽ tải xuống hình ảnh docker và cấu hình cụm Kubernetes như hiển thị bên dưới:
Bây giờ bạn có thể kiểm tra trạng thái cụm bằng lệnh sau:
Bạn sẽ thấy thông báo sau đầu ra:
Để kiểm tra các nút đang chạy, hãy chạy lệnh sau lệnh:
Đầu ra:
Bạn cũng có thể truy cập vào vùng chứa Minikube bằng lệnh sau lệnh:
Đầu ra:
Bây giờ, thoát khỏi shell container bằng lệnh sau lệnh:
Bạn có thể dừng và xóa cụm Kubernetes bất cứ lúc nào bằng lệnh sau:
Bạn có thể kiểm tra trạng thái của Minikube bằng lệnh sau lệnh:
Đầu ra:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn có thể liệt kê tất cả các tiện ích bổ sung minikube bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, hãy liệt kê tất cả các hình ảnh chứa đang chạy trong cụm bằng lệnh sau:
Bạn sẽ thấy thông báo sau đầu ra:
Bây giờ, hãy chạy lệnh sau để lấy URL của bảng điều khiển Kubernetes:
Bạn sẽ thấy thông tin sau đầu ra:
Tại thời điểm này, bảng điều khiển Minikube đã được cài đặt và chạy trên máy chủ cục bộ trên cổng 45627. Tuy nhiên, bạn chỉ có thể truy cập bảng điều khiển này từ máy cục bộ. Nếu bạn muốn truy cập từ một máy bên ngoài, hãy chạy lệnh sau.
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL
/. Bạn sẽ được chuyển hướng đến bảng điều khiển Kubernetes như hiển thị ở trang sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22369%22%3E%3C/svg%3E
Xin chúc mừng! bạn đã cài đặt thành công Minikube trên Debian 11. Bây giờ bạn có thể dễ dàng quản lý cụm Kubernetes của mình thông qua trình duyệt web. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
Hướng dẫn này sẽ hướng dẫn cách cài đặt Minikube trên Debian 11.
Yêu cầu
- Debian 11 mới đã được cài đặt trên hệ thống của bạn.
- Mật khẩu gốc đã được thiết lập trên hệ thống của bạn.
Cài đặt Docker
Trước khi cài đặt Minikube, bạn phải cài đặt gói Docker trên máy chủ của mình. Nếu chưa cài đặt, bạn có thể cài đặt bằng lệnh sau.
Mã:
apt install docker.io -y
Mã:
docker --version
Mã:
Docker version 20.10.5+dfsg1, build 55c4c88
Cài đặt Kubectl
Kubectl là một công cụ để triển khai và quản lý các ứng dụng trên Kubernetes. Theo mặc định, Kubectl không có trong kho lưu trữ mặc định của Debian 11. Vì vậy, bạn sẽ cần cài đặt nó bằng Snap.Đầu tiên, cài đặt gói Snap bằng lệnh sau.
Mã:
apt install snapd -y
Mã:
ln -s /var/lib/snapd/snap /snap
Mã:
echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | tee -a /etc/profile.d/snap.sh
Mã:
systemctl enable --now snapd.service snapd.socket
Mã:
snap install kubectl --classic
Mã:
ln -s /snap/kubectl/current/kubectl /usr/bin/
Mã:
kubectl version -o yaml
Mã:
clientVersion: buildDate: "2022-12-09T16:23:44Z" compiler: gc gitCommit: b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d gitTreeState: clean gitVersion: v1.26.0 goVersion: go1.19.4 major: "1" minor: "26" platform: linux/amd64
kustomizeVersion: v4.5.7
Cài đặt Minikube
Theo mặc định, gói Minikube không được bao gồm trong kho lưu trữ mặc định của Debian. Vì vậy, bạn sẽ cần tải xuống tệp nhị phân Minikube vào hệ thống của mình.Đầu tiên, tải xuống Minikube bằng lệnh sau.
Mã:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube
Mã:
cp minikube /usr/local/bin/
Mã:
chmod +x /usr/local/bin/minikube
Mã:
minikube version
Mã:
minikube version: v1.28.0
commit: 986b1ebd987211ed16f8cc10aed7d2c42fc8392f
Khởi động Minikube
Lúc này, tất cả các gói cần thiết đã được cài đặt. Bây giờ bạn có thể khởi động Minikube bằng lệnh sau:
Mã:
minikube start --force
Mã:
???? minikube v1.28.0 on Debian 11.6 (kvm/amd64)
? minikube skips various validations when --force is supplied; this may lead to unexpected behavior
? Automatically selected the docker driver. Other choices: none, ssh
???? The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
???? If you are running minikube within a VM, consider using --driver=none:
???? https://minikube.sigs.k8s.io/docs/reference/drivers/none/
???? Using Docker driver with root privileges
???? Starting control plane node minikube in cluster minikube
???? Pulling base image ...
???? Downloading Kubernetes v1.25.3 preload ... > preloaded-images-k8s-v18-v1...: 385.44 MiB / 385.44 MiB 100.00% 37.08 M > gcr.io/k8s-minikube/kicbase: 386.27 MiB / 386.27 MiB 100.00% 27.51 MiB > gcr.io/k8s-minikube/kicbase: 0 B [________________________] ?% ? p/s 10s
???? Creating docker container (CPUs=2, Memory=2200MB) ...
???? Preparing Kubernetes v1.25.3 on Docker 20.10.20 ... ? Generating certificates and keys ... ? Booting up control plane ... ? Configuring RBAC rules ...
???? Verifying Kubernetes components... ? Using image gcr.io/k8s-minikube/storage-provisioner:v5
???? Enabled addons: default-storageclass, storage-provisioner
???? Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Mã:
kubectl cluster-info
Mã:
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Mã:
kubectl get nodes
Mã:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 67s v1.25.3
Mã:
minikube ssh
Mã:
docker@minikube:~$
Mã:
$exit
Mã:
minikube stop
minikube delete
Mã:
minikube status
Mã:
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
Truy cập Bảng điều khiển Minikube Kubernetes
Theo mặc định, Minikube cung cấp bảng điều khiển web có thể được sử dụng để quản lý cụm của bạn.Bạn có thể liệt kê tất cả các tiện ích bổ sung minikube bằng lệnh sau:
Mã:
minikube addons list
Mã:
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | Google |
| cloud-spanner | minikube | disabled | Google |
| csi-hostpath-driver | minikube | disabled | Kubernetes |
| dashboard | minikube | disabled | Kubernetes |
| default-storageclass | minikube | enabled ? | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | Google |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [[emailprotected]]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | Google |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | disabled | Kubernetes |
| nvidia-driver-installer | minikube | disabled | Google |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | 3rd party (Portainer.io) |
| registry | minikube | disabled | Google |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ? | Google |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| volumesnapshots | minikube | disabled | Kubernetes |
|-----------------------------|----------|--------------|--------------------------------|
Mã:
kubectl get pods --all-namespaces
Mã:
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-565d847f94-9ttdq 1/1 Running 0 2m47s
kube-system etcd-minikube 1/1 Running 0 3m
kube-system kube-apiserver-minikube 1/1 Running 0 3m1s
kube-system kube-controller-manager-minikube 1/1 Running 0 3m
kube-system kube-proxy-mr8sn 1/1 Running 0 2m47s
kube-system kube-scheduler-minikube 1/1 Running 0 3m
kube-system storage-provisioner 1/1 Running 1 (2m16s ago) 2m59s
Mã:
minikube dashboard --url
Mã:
???? Enabling dashboard ... ? Using image docker.io/kubernetesui/metrics-scraper:v1.0.8 ? Using image docker.io/kubernetesui/dashboard:v2.7.0
???? Some dashboard features require the metrics-server addon. To enable all features please run: minikube addons enable metrics-server
???? Verifying dashboard health ...
???? Launching proxy ...
???? Verifying proxy health ...
http://127.0.0.1:45627/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Mã:
kubectl proxy --address='0.0.0.0' --disable-filter=true
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22369%22%3E%3C/svg%3E
Xin chúc mừng! bạn đã cài đặt thành công Minikube trên Debian 11. Bây giờ bạn có thể dễ dàng quản lý cụm Kubernetes của mình thông qua trình duyệt web. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.