Как установить Kubernetes с Minikube на Ubuntu 20.04
Это руководство существует для этих версий ОС
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 18.04 (Bionic Beaver)
На этой странице
- Предпосылки
- Начало работы
- Установить Docker
- Установить Minikube
- Установить Кубектл
- Запустить Minikube
- Доступ к панели управления Kubernetes
- Заключение
Minikube — это инструмент с открытым исходным кодом, который помогает настроить кластер Kubernetes с одним узлом на локальном компьютере. Это упрощает запуск кластера Kubernetes с одним узлом на вашем персональном компьютере для ежедневной разработки. Он кроссплатформенный и может быть установлен на macOS, Linux и Windows.
В этом руководстве мы покажем вам, как установить Minikube на сервер Ubuntu 20.04.
Предпосылки
- Настольная версия Ubuntu 20.04 установлена в вашей системе.
- Минимум 4 ГБ ОЗУ и 2 или более ядер ЦП.
- В вашей локальной системе должна быть включена аппаратная виртуализация.
- Пароль root настраивается на сервере.
Начиная
Перед запуском рекомендуется обновить системные пакеты до последней версии. Вы можете обновить их, выполнив следующую команду:
apt-get update -y
После обновления всех пакетов установите другие зависимости, выполнив следующую команду:
apt-get install curl wget apt-transport-https virtualbox virtualbox-ext-pack -y
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Докер
Далее вам нужно будет установить Docker в вашу систему. Вы можете установить его, выполнив следующую команду:
apt-get install docker.io -y
После установки Docker запустите службу Docker и включите ее запуск при перезагрузке системы:
systemctl start docker
systemctl enable docker
Теперь вы можете проверить версию Docker с помощью следующей команды:
docker --version
Вы должны увидеть версию Docker в следующем выводе:
Docker version 19.03.8, build afacb8b7f0
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Миникуб
По умолчанию Minikube недоступен в стандартном репозитории Ubuntu. Поэтому вам нужно скачать бинарный пакет Minikube с официального сайта. Вы можете скачать его с помощью следующей команды:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
После завершения загрузки скопируйте загруженный двоичный файл в системный путь с помощью следующей команды:
cp minikube-linux-amd64 /usr/local/bin/minikube
Затем предоставьте разрешение на выполнение с помощью следующей команды:
chmod 755 /usr/local/bin/minikube
Теперь вы можете проверить версию Minikube с помощью следующей команды:
minikube version
Вы должны получить следующий результат:
minikube version: v1.16.0 commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1
Как только вы закончите, вы можете перейти к следующему шагу.
Установить Кубектл
Далее вам нужно будет установить Kubectl и другие инструменты для управления приложениями в Kubernetes. Сначала добавьте ключ GPG с помощью следующей команды:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Затем добавьте репозиторий kubectl с помощью следующей команды:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
После добавления репозитория обновите кеш репозитория и установите Kubectl, выполнив следующую команду:
apt-get update -y
apt-get install kubectl kubeadm kubectl -y
После установки всех пакетов можно переходить к следующему шагу.
Запустить Миникуб
На этом этапе все необходимые пакеты установлены. Теперь вы можете запустить Minikube с помощью следующей команды:
minikube start
Вы должны получить следующий результат:
* minikube v1.16.0 on Ubuntu 20.04 (kvm/amd64) * Using the none driver based on user configuration * Starting control plane node minikube in cluster minikube * Running on localhost (CPUs=2, Memory=3936MB, Disk=100726MB) ... * OS release is Ubuntu 20.04 LTS * Preparing Kubernetes v1.20.0 on 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 - Generating certificates and keys ... - Booting up control plane ... - Configuring RBAC rules ... * Configuring local host environment ... * ! The 'none' driver is designed for experts who need to integrate with an existing VM * Most users should use the newer 'docker' driver instead, which does not require root! * For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/ * ! kubectl and minikube configuration will be stored in /root ! To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run: * - sudo mv /root/.kube /root/.minikube $HOME - sudo chown -R $USER $HOME/.kube $HOME/.minikube * * This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true * Verifying Kubernetes components... * Enabled addons: storage-provisioner, default-storageclass * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Вы можете проверить информацию о кластере с помощью следующей команды:
kubectl cluster-info
Вы должны получить следующий результат:
Kubernetes control plane is running at https://45.58.38.77:8443 KubeDNS is running at https://45.58.38.77:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Вы можете проверить конфигурацию Kubectl по умолчанию с помощью следующей команды:
kubectl config view
Вы должны увидеть следующий вывод:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://45.58.38.77:8443 name: minikube contexts: - context: cluster: minikube 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
Вы можете проверить все работающие узлы с помощью следующей команды:
kubectl get nodes
Вы должны получить следующий результат:
NAME STATUS ROLES AGE VERSION ubunt4 Ready control-plane,master 2m24s v1.20.0
Чтобы проверить состояние Minikube, выполните следующую команду:
minikube status
Вы должны получить следующий результат:
minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured timeToStop: Nonexistent
Как только вы закончите, вы можете перейти к следующему шагу.
Доступ к панели управления Kubernetes
Minikube поставляется с множеством надстроек, которые вы можете включать или отключать в соответствии с вашими потребностями. Вы можете перечислить все дополнения с помощью следующей команды:
minikube addons list
Вы должны получить следующий результат:
|-----------------------------|----------|--------------| | ADDON NAME | PROFILE | STATUS | |-----------------------------|----------|--------------| | ambassador | minikube | disabled | | csi-hostpath-driver | minikube | disabled | | dashboard | minikube | disabled | | default-storageclass | minikube | enabled ? | | efk | minikube | disabled | | freshpod | minikube | disabled | | gcp-auth | minikube | disabled | | gvisor | minikube | disabled | | helm-tiller | minikube | disabled | | ingress | minikube | disabled | | ingress-dns | minikube | disabled | | istio | minikube | disabled | | istio-provisioner | minikube | disabled | | kubevirt | minikube | disabled | | logviewer | minikube | disabled | | metallb | minikube | disabled | | metrics-server | minikube | disabled | | nvidia-driver-installer | minikube | disabled | | nvidia-gpu-device-plugin | minikube | disabled | | olm | minikube | disabled | | pod-security-policy | minikube | disabled | | registry | minikube | disabled | | registry-aliases | minikube | disabled | | registry-creds | minikube | disabled | | storage-provisioner | minikube | enabled ? | | storage-provisioner-gluster | minikube | disabled | | volumesnapshots | minikube | disabled | |-----------------------------|----------|--------------|
Затем выведите список всех образов контейнеров, работающих в кластере, с помощью следующей команды:
kubectl get pods --all-namespaces
Вы должны получить следующий результат:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-74ff55c5b-skf9d 1/1 Running 0 3m45s kube-system etcd-ubunt4 1/1 Running 0 3m54s kube-system kube-apiserver-ubunt4 1/1 Running 0 3m54s kube-system kube-controller-manager-ubunt4 1/1 Running 0 3m54s kube-system kube-proxy-w8q6d 1/1 Running 0 3m45s kube-system kube-scheduler-ubunt4 1/1 Running 0 3m54s kube-system storage-provisioner 1/1 Running 0 3m59s
Затем включите панель мониторинга Kubernetes и получите URL-адрес панели с помощью следующей команды:
minikube dashboard --url
Вы должны получить следующий результат:
* Enabling dashboard ... * Verifying dashboard health ... * Launching proxy ... * Verifying proxy health ... http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ You can now access and manage the Kubernetes cluster using the URL http://127.0.0.1:36499/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Заключение
В приведенном выше руководстве вы узнали, как установить Minikube и использовать его для настройки кластера Kubernetes в Ubuntu 20.04. Теперь вы можете использовать Minikube для локальной настройки кластера Kubernetes и управления им из веб-браузера. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.