如何在Ubuntu 20.04/18.04和Debian 10 Linux上安装Minikube

时间:2020-02-23 14:31:35  来源:igfitidea点击:

在本教程中,我将指导我们完成在Ubuntu 20.04/18.04/Debian 10 Linux系统上安装minikube的步骤。
对于minikube的新手,让我们先介绍一下,然后再深入安装步骤。

Minikube是一个开放源代码工具,旨在使开发人员和系统管理员能够在其本地计算机上运行单个Kubernetes集群。
Minikube在本地启动了一个单节点kubernetes集群,资源利用率低。
这对于开发测试和POC而言是理想的选择。

对于CentOS,请签出:使用KVM在CentOS 7/8上安装Minikube

简而言之,Minikube打包并配置了Linux VM,然后将Docker和所有Kubernetes组件安装到其中。

Minikube支持Kubernetes功能,例如:

DNSNodePortsConfigMaps和SecretsDashboards容器运行时:Docker,CRI-O和容器化启用CNI(容器网络接口)IngressPersistenthostPath类型的卷

Minikube的管理程序选择:Minikube支持VirtualBox和KVM管理程序。本教程将涵盖这两个虚拟机管理程序。

步骤1:更新系统

运行以下命令以将所有系统软件包更新到最新版本:

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get upgrade

步骤2:安装KVM或者VirtualBox虚拟机管理程序

对于VirtualBox用户,请使用以下命令安装VirtualBox:

sudo apt install virtualbox virtualbox-ext-pack

KVM虚拟机管理程序用户

如果我们对使用KVM虚拟机管理程序感兴趣,请查看有关如何在CentOS 7/Ubuntu 16.04/Debian 9/SLES 12/Arch Linux上安装KVM的教程,然后遵循如何在KVM上运行Minikube。

步骤3:下载minikube

我们需要下载minikube二进制文件。
我将把二进制文件放在/usr/local/bin目录下,因为它位于$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/minikube

确认版本已安装

$minikube version
minikube version: v1.9.2
commit: 93af9c1e43cab9618e301bc9fa720c63d5efa393

第4步:在Ubuntu/Debian上安装kubectl

我们需要kubectl,这是用于在Kubernetes上部署和管理应用程序的命令行工具:

curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

使kubectl二进制可执行文件。

chmod +x ./kubectl

将二进制文件移到PATH中:

sudo mv ./kubectl /usr/local/bin/kubectl

检查版本:

# kubectl version -o json 
{
  "clientVersion": {
    "major": "1",
    "minor": "10",
    "gitVersion": "v1.10.4",
    "gitCommit": "5ca598b4ba5abb89bb773071ce452e33fb66339d",
    "gitTreeState": "clean",
    "buildDate": "2016-06-06T08:13:03Z",
    "goVersion": "go1.9.3",
    "compiler": "gc",
    "platform": "linux/amd64"
  }
}

步骤5:启动minikube

现在已经安装了组件,我们可以启动minikube。
将下载VM镜像并为Kubernetes单节点群集配置d。

$minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
150.53 MB/150.53 MB [============================================] 100.00% 0s
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.10.0
Downloading kubelet v1.10.0
Finished Downloading kubeadm v1.10.0
Finished Downloading kubelet v1.10.0
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

等待下载和设置完成,然后确认一切正常。

第6步:Minikube基本操作

要检查集群状态,请运行:

$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'.

请注意,Minikube配置文件位于~/.minikube/machines/minikube/config.json下。
要查看配置,请使用:

$kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority: /home/jmutai/.minikube/ca.crt
    server: https://192.168.39.117:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: /home/jmutai/.minikube/client.crt
    client-key: /home/jmutai/.minikube/client.key

要检查正在运行的节点:

$kubectl get nodes
NAME       STATUS    ROLES     AGE       VERSION
minikube   Ready     master    13m       v1.10.0

使用ssh访问minikube VM:

$minikube ssh
                         _             _            
            _         _ ( )           ( )           
  ___ ___  (_)  ___  (_)| |/')  _   _ | |_      __  
/' _ ` _ `\| |/' _ `\| || , <  ( ) ( )| '_`\  /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )(  ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`___/'(_,__/'`____)
$sudo su 

要停止正在运行的本地kubernetes集群,请运行:

$minikube stop

要删除本地kubernetes集群,请使用:

$minikube delete

步骤7:启用Kubernetes仪表板

Kubernete附带了一个Web仪表板,可让我们在不与命令行交互的情况下管理集群。
仪表板插件在minikube上默认安装并启用。

$minikube addons list
- addon-manager: enabled
- coredns: disabled
- dashboard: enabled
- default-storageclass: enabled
- efk: disabled
- freshpod: disabled
- heapster: disabled
- ingress: disabled
- kube-dns: enabled
- metrics-server: disabled
- registry: disabled
- registry-creds: disabled
- storage-provisioner: enabled

要直接在默认浏览器上打开,请使用:

$minikube dashboard

获取仪表盘的URL

$minikube dashboard --url
http://192.168.39.117:30000

通过在我们喜欢的浏览器上打开URL来访问Kubernetes仪表板。