Cách Cài Đặt Minikube trên Ubuntu 24.04|22.04|20.04
Bạn đã sẵn sàng khám phá sức mạnh của Kubernetes chưa? Trong hướng dẫn từng bước này, chúng tôi sẽ chỉ bạn cách cài đặt Minikube trên hệ thống Ubuntu Linux với hypervisor cơ bản là Libvirt (KVM) hoặc VirtualBox. Chúng ta sẽ bắt đầu với một giới thiệu cơ bản về Minikube, sau đó đi sâu vào việc cài đặt thực tế Minikube và cách bắt đầu sử dụng nó.
Minikube là một công cụ mã nguồn mở được phát triển để cho phép các nhà phát triển và quản trị viên hệ thống chạy một cụm Kubernetes duy nhất trên máy tính cục bộ của họ. Minikube khởi động một cụm Kubernetes một nút tại chỗ với mức sử dụng tài nguyên nhỏ. Điều này lý tưởng cho các thử nghiệm phát triển và mục đích POC.
Sổ Tay Ubuntu Desktop Tối Thượng
Làm chủ Ubuntu như một chuyên gia - từ tùy chỉnh giao diện đẹp mắt đến tự động hóa terminal mạnh mẽ. Hoàn hảo cho các nhà phát triển, quản trị hệ thống và người dùng cao cấp muốn kiểm soát hoàn toàn không gian làm việc của mình.
Đối với CentOS, hãy xem: Cài đặt Minikube trên CentOS 7/8 với KVM.
Tóm lại, Minikube đóng gói và cấu hình một máy ảo Linux, sau đó cài đặt Docker và tất cả các thành phần của Kubernetes vào đó.
Minikube hỗ trợ các tính năng của Kubernetes như:
- DNS
- NodePorts
- ConfigMaps và Secrets
- Bảng điều khiển
- Trình chạy container: Docker, CRI-O và containerd
- Kích hoạt CNI (Giao diện Mạng Container)
- Lối vào
- PersistentVolumes loại hostPath
Hãy bắt đầu cài đặt Minikube trên Ubuntu Linux.
Cài đặt KVM hoặc Hypervisor VirtualBox
Chạy các lệnh sau để cập nhật tất cả các gói hệ thống lên phiên bản mới nhất:
sudo apt update && sudo apt upgrade -yNếu cần khởi động lại sau khi nâng cấp, hãy thực hiện quá trình này.
[ -f /var/run/reboot-required ] && sudo reboot -fĐối với người dùng VirtualBox, cài đặt VirtualBox bằng:
- Cài đặt VirtualBox trên Ubuntu
Người dùng KVM Hypervisor
Đối với những ai quan tâm đến việc sử dụng hypervisor KVM, hãy tham khảo hướng dẫn của chúng tôi về cách cài đặt KVM trên CentOS/Ubuntu/Debian
Sau đó làm theo hướng dẫn Cách chạy Minikube trên KVM thay vào đó.
Tải xuống và Cấu hình Minikube trên Ubuntu
Bạn cần tải xuống tệp nhị phân minikube. Tôi sẽ đặt tệp nhị phân vào thư mục /usr/local/bin vì thư mục này nằm trong ` PATH.
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikubeXác nhận phiên bản đã cài đặt
$ minikube version
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ffChúng ta cần kubectl, một công cụ dòng lệnh được sử dụng để triển khai và quản lý các ứng dụng trên Kubernetes:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlLàm cho tệp nhị phân kubectl có thể thực thi.
chmod +x ./kubectl
Di chuyển tệp nhị phân vào PATH của bạn:
sudo mv ./kubectl /usr/local/bin/kubectlKiểm tra phiên bản:
$ kubectl version -o json --client
{
"clientVersion": {
"major": "1",
"minor": "30",
"gitVersion": "v1.30.2",
"gitCommit": "39683505b630ff2121012f3c5b16215a1449d5ed",
"gitTreeState": "clean",
"buildDate": "2024-06-11T20:29:44Z",
"goVersion": "go1.22.4",
"compiler": "gc",
"platform": "linux/amd64"
},
"kustomizeVersion": "v5.0.4-0.20230601165947-6ce0bf390ce3"
}Khởi động minikube trên Ubuntu
Bây giờ các thành phần đã được cài đặt, bạn có thể khởi động minikube. Hình ảnh VM sẽ được tải xuống và cấu hình cho cụm Kubernetes một nút.
- Minikube với trình điều khiển KVM
minikube start --driver=kvm2- Với trình điều khiển VirtualBox
minikube start --driver=virtualboxVí dụ kết quả đầu ra từ các lệnh thực thi.
...................................
* Using the kvm2 driver based on user configuration
* https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Downloading driver docker-machine-driver-kvm2:
> docker-machine-driver-kvm2-...: 65 B / 65 B [---------] 100.00% ? p/s 0s
> docker-machine-driver-kvm2-...: 13.46 MiB / 13.46 MiB 100.00% ? p/s 100
* Downloading VM boot image ...
> minikube-v1.33.1-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.33.1-amd64.iso: 314.16 MiB / 314.16 MiB 100.00% 37.68 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.30.0 preload ...
> preloaded-images-k8s-v18-v1...: 342.90 MiB / 342.90 MiB 100.00% 38.75 M
* Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ...
* Preparing Kubernetes v1.30.0 on Docker 26.0.2 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
* 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 defaultChờ cho quá trình tải xuống và cài đặt hoàn tất, sau đó xác nhận rằng mọi thứ đang hoạt động bình thường.
Để thiết lập trình điều khiển Minikube mặc định, hãy sử dụng:
# VirtualBox
minikube config set driver virtualbox
# KVM
minikube config set driver kvmCác thao tác cơ bản của Minikube
Để kiểm tra trạng thái cụm, chạy:
$ kubectl cluster-info
Kubernetes master is running at https://192.168.39.117:8443
KubeDNS is running at https://192.168.39.117:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.Lưu ý rằng tệp cấu hình Minikube nằm trong ~/.minikube/machines/minikube/config.json
Để xem cấu hình, sử dụng:
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: cluster_info
server: https://192.168.39.249:8443
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.keyĐể kiểm tra các nút đang chạy:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m29s v1.30.0
Truy cập VM minikube bằng ssh:
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ sudo su -Để dừng một cụm Kubernetes cục bộ đang chạy, hãy chạy:
$ minikube stopĐể xóa một cụm Kubernetes cục bộ, hãy sử dụng:
$ minikube deleteKubernetes đi kèm với một bảng điều khiển web mà
$ minikube addons list
...
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | minikube |
| 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 | minikube |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [[email ]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | minikube |
| inspektor-gadget | minikube | disabled | 3rd party |
| | | | (inspektor-gadget.io) |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubeflow | minikube | disabled | 3rd party |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | disabled | Kubernetes |
| nvidia-device-plugin | minikube | disabled | 3rd party (NVIDIA) |
| nvidia-driver-installer | minikube | disabled | 3rd party (Nvidia) |
| 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 | minikube |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | minikube |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| storage-provisioner-rancher | minikube | disabled | 3rd party (Rancher) |
| volumesnapshots | minikube | disabled | Kubernetes |
| yakd | minikube | disabled | 3rd party (marcnuri.com) |
|-----------------------------|----------|--------------|--------------------------------|Để kích hoạt một mô-đun, sử dụng lệnh:
minikube addons enable <module>Ví dụ :
$ minikube addons enable portainer
! portainer is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
! portainer does not currently have an associated maintainer.
- Using image docker.io/portainer/portainer-ce:2.15.1
* The 'portainer' addon is enabledĐể mở trực tiếp trên trình duyệt mặc định của bạn, hãy sử dụng:
$ minikube dashboardĐể lấy URL của bảng điều khiển
$ minikube dashboard --url
http://192.168.39.117:30000Truy cập Bảng điều khiển Kubernetes bằng cách mở URL trên trình duyệt yêu thích của bạn. Để tìm hiểu thêm, hãy xem:
- Series Hello Minikube: https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/
- Hướng dẫn Minikube cho người mới bắt đầu có sẵn tại: https://kubernetes.io/docs/getting-started-guides/minikube/
Thêm hướng dẫn về Kubernetes:
- Lên lịch Pod trên các nút Control plane (Master) của Kubernetes
- Tham gia một nút Worker Kubernetes mới vào Cluster hiện có
- Triển khai cụm Kubernetes trên CentOS với Ansible và Calico CNI
- Triển khai Metrics Server lên cụm Kubernetes
- Kéo thủ công các hình ảnh container được Kubernetes kubeadm sử dụng
- Cài đặt và Sử dụng Helm 3 trên cụm Kubernetes