Cách cài đặt Kubernetes với Minikube trên Ubuntu 20.04

theanh

Administrator
Nhân viên
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.

Đ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
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:
Mã:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
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:
Mã:
systemctl start docker
systemctl enable docker
Bây giờ bạn có thể xác minh phiên bản Docker bằng lệnh sau:
Mã:
docker --version
Bạn sẽ thấy phiên bản Docker trong đầu ra sau:
Mã:
Docker version 19.03.8, build afacb8b7f0
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
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:
Mã:
cp minikube-linux-amd64 /usr/local/bin/minikube
Tiếp theo, cấp quyền thực thi bằng lệnh sau:
Mã:
chmod 755 /usr/local/bin/minikube
Bây giờ bạn có thể xác minh phiên bản Minikube bằng lệnh sau:
Mã:
minikube version
Bạn sẽ nhận được kết quả sau:
Mã:
minikube version: v1.16.0commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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 -
Tiếp theo, hãy thêm kho lưu trữ kubectl bằng lệnh sau:
Mã:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
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:
Mã:
apt-get update -y
apt-get install kubectl kubeadm kubectl -y
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.

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
Bạn sẽ nhận được kết quả sau:
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
Bạn có thể kiểm tra thông tin cụm bằng lệnh sau:
Mã:
kubectl cluster-info
Bạn sẽ nhận được đầu ra sau:
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'.
Bạn có thể kiểm tra cấu hình mặc định của Kubectl bằng lệnh sau:
Mã:
kubectl config view
Bạn sẽ thấy đầu ra sau:
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
Bạn có thể kiểm tra tất cả các nút đang chạy bằng lệnh sau:
Mã:
kubectl get nodes
Bạn sẽ nhận được kết quả sau:
Mã:
NAME STATUS ROLES AGE VERSIONubuntu2004 Ready control-plane,master 2m24s v1.20.0
Để xác minh trạng thái của Minikube, hãy chạy lệnh sau:
Mã:
minikube status
Bạn sẽ nhận được kết quả sau:
Mã:
minikubetype: Control Planehost: Runningkubelet: Runningapiserver: Runningkubeconfig: ConfiguredtimeToStop: Nonexistent
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
Bạn sẽ nhận được kết quả sau:
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 ||-----------------------------|-----------|---------------|
Tiếp theo, liệt kê tất cả các ảnh container đang chạy trong cụm bằng lệnh sau:
Mã:
kubectl get pods --all-namespaces
Bạn sẽ nhận được kết quả sau:
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
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:
Mã:
minikube dashboard --url
Bạn sẽ nhận được đầu ra sau:
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/

Kết luận​

Trong hướng dẫn trên, bạn đã học cách cài đặt Minikube và sử dụng nó để thiết lập cụm Kubernetes trên Ubuntu 20.04. Bây giờ bạn có thể sử dụng Minikube để thiết lập cụm Kubernetes cục bộ và quản lý nó từ 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.
 
Back
Bên trên