Minikube là một công cụ mã nguồn mở giúp bạn thiết lập cụm Kubernetes một nút trên máy cục bộ của mình. Nó giúp bạn dễ dàng chạy cụm Kubernetes một nút trên máy tính cá nhân của mình cho công việc phát triển hàng ngày. Nó là công cụ đa nền tảng và có thể được cài đặt trên macOS, Linux và Windows.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Minikube trên máy chủ Ubuntu 20.04.
Sau khi tất cả các gói được cập nhật, hãy cài đặt các phụ thuộc khác bằng cách chạy lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi Docker được cài đặt, hãy khởi động dịch vụ Docker và cho phép nó khởi động khi khởi động lại hệ thống:
Bây giờ bạn có thể xác minh phiên bản Docker bằng lệnh sau:
Bạn sẽ thấy phiên bản Docker trong đầu ra sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi tải xuống hoàn tất, hãy sao chép tệp nhị phân đã tải xuống vào đường dẫn hệ thống bằng lệnh sau:
Tiếp theo, cấp quyền thực thi bằng lệnh sau:
Bây giờ bạn có thể xác minh phiên bản Minikube bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, hãy thêm kho lưu trữ kubectl bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cập nhật bộ đệm kho lưu trữ và cài đặt Kubectl bằng cách chạy lệnh sau:
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ nhận được kết quả sau:
Bạn có thể kiểm tra thông tin cụm bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Bạn có thể kiểm tra cấu hình mặc định của Kubectl bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bạn có thể kiểm tra tất cả các nút đang chạy bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Để xác minh trạng thái của Minikube, hãy chạy lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ nhận được kết quả sau:
Tiếp theo, liệt kê tất cả các ảnh container đang chạy trong cụm bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, bật bảng điều khiển Kubernetes và lấy URL của bảng điều khiển bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Minikube trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Máy tính để bàn Ubuntu 20.04 được cài đặt trong hệ thống của bạn.
- Tối thiểu 4 GB RAM và 2 lõi CPU trở lên.
- Ảo hóa phần cứng phải được bật trong hệ thống cục bộ của bạn.
- Mật khẩu gốc được cấu hình cho máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn nên cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng cách chạy lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Cài đặt Docker
Tiếp theo, bạn sẽ cần cài đặt Docker vào hệ thống của mình. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install docker.io -y
Mã:
systemctl start docker
systemctl enable docker
Mã:
docker --version
Mã:
Docker version 19.03.8, build afacb8b7f0
Cài đặt Minikube
Theo mặc định, Minikube không có sẵn trong kho lưu trữ mặc định của Ubuntu. Vì vậy, bạn sẽ cần tải xuống gói nhị phân Minikube từ trang web chính thức của nó. Bạn có thể tải xuống bằng lệnh sau:
Mã:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Mã:
cp minikube-linux-amd64 /usr/local/bin/minikube
Mã:
chmod 755 /usr/local/bin/minikube
Mã:
minikube version
Mã:
minikube version: v1.16.0commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1
Cài đặt Kubectl
Tiếp theo, bạn sẽ cần cài đặt Kubectl và các công cụ khác để quản lý ứng dụng trên Kubernetes. Trước tiên, hãy thêm khóa GPG bằng lệnh sau:
Mã:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Mã:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
Mã:
apt-get update -y
apt-get install kubectl kubeadm kubectl -y
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
Mã:
* minikube v1.16.0 trên Ubuntu 20.04 (kvm/amd64)* Sử dụng trình điều khiển none dựa trên cấu hình người dùng* Khởi động nút control plane minikube trong cụm minikube* Chạy trên localhost (CPU=2, Bộ nhớ=3936MB, Đĩa=100726MB) ...* Phiên bản hệ điều hành là Ubuntu 20.04 LTS* Đang chuẩn bị Kubernetes v1.20.0 trên Docker 19.03.8 ... - kubelet.resolv-conf=/run/systemd/resolve/resolv.conf > kubectl.sha256: 64 B / 64 B [--------------------------] 100,00% ? p/s 0s > kubeadm.sha256: 64 B / 64 B [--------------------------] 100,00% ? p/s 0s > kubelet.sha256: 64 B / 64 B [--------------------------] 100,00% ? p/s 0s > kubeadm: 37,40 MiB / 37,40 MiB [---------------] 100,00% 27,29 MiB p/s 1s > kubectl: 38,37 MiB / 38,37 MiB [---------------] 100,00% 27,60 MiB p/s 1s > kubelet: 108,69 MiB / 108,69 MiB [-------------] 100,00% 42,08 MiB p/s 3s - Đang tạo chứng chỉ và khóa ... - Đang khởi động mặt phẳng điều khiển ... - Đang định cấu hình các quy tắc RBAC ...* Đang định cấu hình môi trường máy chủ cục bộ ...*! Trình điều khiển 'none' được thiết kế cho các chuyên gia cần tích hợp với VM hiện có* Hầu hết người dùng nên sử dụng trình điều khiển 'docker' mới hơn, không yêu cầu root!* Để biết thêm thông tin, hãy xem: https://minikube.sigs.k8s.io/docs/reference/drivers/none/*! Cấu hình kubectl và minikube sẽ được lưu trữ trong /root! Để sử dụng lệnh kubectl hoặc minikube với tư cách là người dùng của riêng bạn, bạn có thể cần phải di chuyển chúng. Ví dụ: để ghi đè cài đặt của riêng bạn, hãy chạy:* - sudo mv /root/.kube /root/.minikube $HOME - sudo chown -R $USER $HOME/.kube $HOME/.minikube** Điều này cũng có thể được thực hiện tự động bằng cách đặt biến env CHANGE_MINIKUBE_NONE_USER=true* Đang xác minh các thành phần Kubernetes...* Đã bật tiện ích bổ sung: storage-provisioner, default-storageclass* Hoàn tất! kubectl hiện được cấu hình để sử dụng cụm "minikube" và không gian tên "default" theo mặc định
Mã:
kubectl cluster-info
Mã:
Mặt phẳng điều khiển Kubernetes đang chạy tại https://45.58.38.77:8443KubeDNS đang chạy tại https://45.58.38.77:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxyĐể gỡ lỗi và chẩn đoán thêm các sự cố cụm, hãy sử dụng 'kubectl cluster-info dump'.
Mã:
kubectl config view
Mã:
apiVersion: v1clusters:- cluster: certificate-authority: /root/.minikube/ca.crt server: https://45.58.38.77:8443 name: minikubecontexts:- context: cluster: minikube namespace: default user: minikube name: minikubecurrent-context: minikubekind: Configpreferences: {}users:- name: minikube user: client-certificate: /root/.minikube/profiles/minikube/client.crt client-key: /root/.minikube/profiles/minikube/client.key
Mã:
kubectl get nodes
Mã:
NAME STATUS ROLES AGE VERSIONubuntu2004 Ready control-plane,master 2m24s v1.20.0
Mã:
minikube status
Mã:
minikubetype: Control Planehost: Runningkubelet: Runningapiserver: Runningkubeconfig: ConfiguredtimeToStop: Nonexistent
Access Kubernetes Dashboard
Minikube đi kèm với rất nhiều tiện ích bổ sung mà bạn có thể bật hoặc tắt tùy theo nhu cầu của mình. Bạn có thể liệt kê tất cả các tiện ích bổ sung bằng lệnh sau:
Mã:
minikube addons list
Mã:
|-----------------------------|----------|---------------|| TÊN ADDON | HỒ SƠ | TRẠNG THÁI ||--------------------------------|----------|--------------|| đại sứ | minikube | đã tắt || csi-hostpath-driver | minikube | đã tắt || bảng điều khiển | minikube | đã tắt || default-storageclass | minikube | đã bật ? || efk | minikube | đã tắt || freshpod | minikube | đã tắt || gcp-auth | minikube | đã tắt || gvisor | minikube | đã tắt || helm-tiller | minikube | đã tắt || ingress | minikube | đã tắt || ingress-dns | minikube | đã tắt || istio | minikube | đã tắt || istio-provisioner | minikube | đã tắt || kubevirt | minikube | đã tắt || logviewer | minikube | bị vô hiệu hóa || metallb | minikube | bị vô hiệu hóa || metrics-server | minikube | bị vô hiệu hóa || nvidia-driver-installer | minikube | bị vô hiệu hóa || nvidia-gpu-device-plugin | minikube | bị vô hiệu hóa || olm | minikube | bị vô hiệu hóa || pod-security-policy | minikube | bị vô hiệu hóa || registry | minikube | bị vô hiệu hóa || registry-aliases | minikube | bị vô hiệu hóa || registry-creds | minikube | bị vô hiệu hóa || storage-provisioner | minikube | đã bật ? || storage-provisioner-gluster | minikube | bị vô hiệu hóa || volumesnapshots | minikube | bị vô hiệu hóa ||-----------------------------|-----------|---------------|
Mã:
kubectl get pods --all-namespaces
Mã:
NAMESPACE NAME READY STATUS RESTARTS AGEkube-system coredns-74ff55c5b-skf9d 1/1 Đang chạy 0 3 phút 45 giâykube-system etcd-ubuntu2004 1/1 Đang chạy 0 3 phút 54 giâykube-system kube-apiserver-ubuntu2004 1/1 Đang chạy 0 3 phút 54 giâykube-system kube-controller-manager-ubuntu2004 1/1 Đang chạy 0 3 phút 54 giâykube-system kube-proxy-w8q6d 1/1 Đang chạy 0 3 phút 45 giâykube-system kube-scheduler-ubuntu2004 1/1 Đang chạy 0 3 phút 54 giâykube-system storage-provisioner 1/1 Đang chạy 0 3 phút 59 giây
Mã:
minikube dashboard --url
Mã:
* Đang bật bảng điều khiển ...* Đang xác minh tình trạng bảng điều khiển ...* Đang khởi chạy proxy ...* Đang xác minh tình trạng proxy ...http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/Bây giờ bạn có thể truy cập và quản lý cụm Kubernetes bằng URL http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/