ubuntu 18.04下minikube的安装

ubuntu 18.04下minikube的安装

第1步:更新系统

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

sudo apt-get update

sudo apt-get install apt-transport-https

sudo apt-get upgrade

第2步: 下载kubectl

安装kubectl
安装minikube的前提:需要先安装kubectl,它是kubernetes的命令行工具,可以使用kubectl部署应用程序,检查和管理集群资源以及查看日志,通过kubectl对k8s进行操作

# 下载最新稳定版本的kubuctl二进制文件
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl

# 为kubectl赋予可执行权限
$ chmod +x ./kubectl

# 安装到/usr/local/bin/目录,将可执行文件放到系统的PATH目录
$ sudo mv ./kubectl /usr/local/bin/kubectl

# 成功
kubectl version --client

# 检查版本:
kubectl version -o json 

第3步:安装minikube

# 下载最新版本minikube二进制文件 并赋予执行权限
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ 
&& chmod +x minikube

# 安装到/usr/local/bin/目录
$ sudo mkdir -p /usr/local/bin/
$ sudo install minikube /usr/local/bin/

# 确认安装成功
$ kubectl version --client

# 确认已安装版本:
 minikube version

第4步:启动minikube

# 输入命令minikube start --vm-driver=none启动kubernetes,注意这里--vm-driver参数使用none,前提是要求本机有安装docker,不然会报错:
minikube start --vm-driver=none
或者:
minikube start --force --driver=docker

如果启动报如下错误
初次执行大多数情况会报错启动失败,原因是minikube启动k8s环境时需要从k8s.gcr.io拉取kube-apiserver、kube-controller-manager、kube-scheduler等docker镜像进行部署。而由于墙的问题从阿里云的云端机器上是无法访问k8s.gcr.io的。

解决方案1
minikube需要docker组启动,就用第二个命令启动
在这里插入图片描述
解决方案2:
因为我是用root账号登录操作的。所以提示不能用root账号启动,得用别的账号。所以要创建一个新的账号进行操作,创建一个test账号进行启动

adduser test
passwd test

解决方案3(我用的这种方案):
1.如果出现Sorry, Kubernetes v1.18.0 requires conntrack to be installed in root’s path,请执行:

sudo apt install conntrack
# 通过minikube的帮助文档能看到,可以直接用阿里云的镜像地址registry.cn-hangzhou.aliyuncs.com/google_containers代替k8s.gcr.io

$ minikube start --help
...
--image-repository='': Alternative image repository to pull docker images from. This can be used when you have
limited access to gcr.io. Set it to "auto" to let minikube decide one for you. For Chinese mainland users, you may use
local gcr.io mirrors such as registry.cn-hangzhou.aliyuncs.com/google_containers
...

接下来执行:

minikube start --vm-driver=none --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

* Ubuntu 18.04 上的 minikube v1.24.0
* 根据现有的配置文件使用 none 驱动程序
* Starting control plane node minikube in cluster minikube
* Running on localhost (CPUs=2, Memory=7953MB, Disk=50137MB) ...
* OS release is Ubuntu 18.04.6 LTS
! This bare metal machine is having trouble accessing https://registry.cn-hangzhou.aliyuncs.com/google_containers
* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
* 正在 Docker 20.10.7 中准备 Kubernetes v1.22.3- Generating certificates and keys ...
  - Booting up control plane ...
  - Configuring RBAC rules ...
* 开始配置本地主机环境...
* 
! 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 和 minikube 配置将存储在 /root 中
! 如需以您自己的用户身份使用 kubectl 或 minikube 命令,您可能需要重新定位该命令。例如,如需覆盖您的自定义设置,请运行:
* 
  - sudo mv /root/.kube /root/.minikube $HOME
  - sudo chown -R $USER $HOME/.kube $HOME/.minikube
* 
* 此操作还可通过设置环境变量 CHANGE_MINIKUBE_NONE_USER=true 自动完成
* Verifying Kubernetes components...
  - Using image registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner

! /usr/local/bin/kubectl is version 1.17.0, which may have incompatibilites with Kubernetes 1.22.3.
  - Want kubectl v1.22.3? Try 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

出现上面的日志表示minikube已经部署完毕,随后查看k8s的运行状态

# 可以看到minikube在docker中启动了很多k8s相关的container
$ docker container ls

# 查看minikube的运行状态
$ minikube status

在这里插入图片描述
测试minikubu

root@sunrj:~# minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

第5步:Minikube Basic操作

检查群集状态,请运行:

# kubectl cluster-info

Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

请注意,Minikube配置文件位于:

~/.minikube/machines/minikube/config.json

要查看配置,请使用:

$ kubectl config view

apiVersion: v1
clusters:
- cluster:
    certificate-authority: /root/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Thu, 04 Nov 2021 09:49:57 UTC
        provider: minikube.sigs.k8s.io
        version: v1.23.2
      name: cluster_info
    server: https://192.168.49.2:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Thu, 04 Nov 2021 09:49:57 UTC
        provider: minikube.sigs.k8s.io
        version: v1.23.2
      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


检查运行节点:
# kubectl get nodes
NAME   STATUS   ROLES                  AGE   VERSION
apig   Ready    control-plane,master   45h   v1.22.3

在这里插入图片描述

使用ssh访问minikube VM:

# minikube ssh

# sudo su -

//要停止正在运行的本地kubernetes集群:
# minikube stop

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

# minikube delete

第6步:启用Kubernetes仪表板

Kubernete附带一个Web仪表板,允许你管理群集而无需与命令行交互,默认情况下,在minikube上安装并启用仪表板插件
# minikube addons list

|-----------------------------|----------|--------------|-----------------------|
|         ADDON NAME          | PROFILE  |    STATUS    |      MAINTAINER       |
|-----------------------------|----------|--------------|-----------------------|
| ambassador                  | minikube | disabled     | unknown (third-party) |
| auto-pause                  | minikube | disabled     | google                |
| csi-hostpath-driver         | minikube | disabled     | kubernetes            |
| dashboard                   | minikube | disabled     | kubernetes            |
| default-storageclass        | minikube | enabled ✅   | kubernetes            |
| efk                         | minikube | disabled     | unknown (third-party) |
| freshpod                    | minikube | disabled     | google                |
| gcp-auth                    | minikube | disabled     | google                |
| gvisor                      | minikube | disabled     | google                |
| helm-tiller                 | minikube | disabled     | unknown (third-party) |
| ingress                     | minikube | disabled     | unknown (third-party) |
| ingress-dns                 | minikube | disabled     | unknown (third-party) |
| istio                       | minikube | disabled     | unknown (third-party) |
| istio-provisioner           | minikube | disabled     | unknown (third-party) |
| kubevirt                    | minikube | disabled     | unknown (third-party) |
| logviewer                   | minikube | disabled     | google                |
| metallb                     | minikube | disabled     | unknown (third-party) |
| metrics-server              | minikube | disabled     | kubernetes            |
| nvidia-driver-installer     | minikube | disabled     | google                |
| nvidia-gpu-device-plugin    | minikube | disabled     | unknown (third-party) |
| olm                         | minikube | disabled     | unknown (third-party) |
| pod-security-policy         | minikube | disabled     | unknown (third-party) |
| portainer                   | minikube | disabled     | portainer.io          |
| registry                    | minikube | disabled     | google                |
| registry-aliases            | minikube | disabled     | unknown (third-party) |
| registry-creds              | minikube | disabled     | unknown (third-party) |
| storage-provisioner         | minikube | enabled ✅   | kubernetes            |
| storage-provisioner-gluster | minikube | disabled     | unknown (third-party) |
| volumesnapshots             | minikube | disabled     | kubernetes            |
|-----------------------------|----------|--------------|-----------------------|


卸载:

完全卸载 Minikube/Uninstall Minikube[ Linux 和 Mac]

  1. Linux系统
# 停止运行
root$ minikube stop; 
# 执行卸载命令
root$ minikube delete
docker stop (docker ps -aq)
rm -r ~/.kube ~/.minikube
sudo rm /usr/local/bin/localkube /usr/local/bin/minikube
systemctl stop '*kubelet*.mount'
sudo rm -rf /etc/kubernetes/
docker system prune -af --volumes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值