Linux安装minikube指南

在linux安装minikube时遇到两个问题,在此记录整个安装过程,希望能够给遇见同样问题的读者一些参考;

前提

本次部署实战需要先解决谷歌镜像的下载问题,请确保您的网络可以正常访问和下载这些资源;

环境信息

  1. 操作系统:CentOS Linux release 7.6.1810
  2. Docker:1.13.1

准备工作

在安装minikube之前,要先对电脑做些设置,例如swap、防火墙、selinux等,这些操作的步骤和细节请参照《CentOS7环境部署kubenetes1.12版本五部曲之一:标准化机器》

完成基本设置就可以正式开始了;

设置Docker

部署的第一步是对修改docker的cgroup driver设置,使其和即将安装的kubelet服务保持一致,否则会导致kubelet启动失败:

  1. 打开文件/usr/lib/systemd/system/docker.service,如下图,将红框中的systemd改为cgroupfs
    在这里插入图片描述
  2. 重新加载配置信息,重启服务:
systemctl daemon-reload && systemctl restart docker

安装kubectl

  1. 下载kubectl文件:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
  1. 赋可执行权限:
chmod +x ./kubectl
  1. 移动到系统目录:
sudo mv ./kubectl /usr/local/bin/kubectl
  1. 现在可以在任意位置执行kubectl命令了:
[root@minikubeblog ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2", GitCommit:"66049e3b21efe110454d67df4fa62b08ea79a19b", GitTreeState:"clean", BuildDate:"2019-05-16T16:23:09Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

从上述信息可见kubect已经可用,但是还连接不上server端,接下来我们就来安装和启动minikube;

安装minikube

minikube有以下两种运行方式:

  1. 运行在虚拟机,这要求当前电脑上要先安装VirtualBox或者KVM;
  2. 运行在宿主机,这种方式不需要在当前电脑安装ViirtualBox或者KVM;

为了快速安装,今天实战用到的是上面的第二种方式;

  1. 下载最新版minikube,并赋予可执行权限:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube
  1. 移动到系统目录,以便在任意位置可以执行minikube命令:
sudo cp minikube /usr/local/bin && rm minikube
  1. 启动minikube,参数–vm-driver=none表示minikube运行在宿主机,不需要提前安装VirtualBox或者KVM:
minikube start --vm-driver=none

等待一段时间后(和下载镜像的速度有关),minikube启动成功,执行kubectl get services查看服务正常:

[root@minikubeblog ~]# minikube start --vm-driver=none
* minikube v1.1.1 on linux (amd64)
* Creating none VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
* Configuring environment for Kubernetes v1.14.3 on Docker 1.13.1
* Unable to load cached images: loading cached images: loading image /root/.minikube/cache/images/gcr.io/k8s-minikube/storage-provisioner_v1.8.1: stat /root/.minikube/cache/images/gcr.io/k8s-minikube/storage-provisioner_v1.8.1: no such file or directory
* Downloading kubeadm v1.14.3
* Downloading kubelet v1.14.3
* Pulling images ...
* Launching Kubernetes ... 
* Configuring local host environment ...

! The 'none' driver provides limited isolation and may reduce system security and reliability.
! For more information, see:
  - https://github.com/kubernetes/minikube/blob/master/docs/vmdriver-none.md

! 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:

  - 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: apiserver proxy etcd scheduler controller dns
* Done! kubectl is now configured to use "minikube"
[root@minikubeblog ~]# kubectl get services
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   7m10s

至此,Linux环境部署和启动minikube成功,希望本文能给你在部署minikube时提供一些参考。

欢迎关注我的公众号:程序员欣宸

在这里插入图片描述

### 如何在Linux系统上进行MinikubeKubernetes的离线安装 #### 所需依赖 为了成功完成离线环境下的MinikubeKubernetes安装,需要提前准备一系列组件及其对应的版本: - **操作系统支持**:确认使用的Linux发行版被Minikube所支持。大多数主流Linux发行版均受支持。 - **Docker或其他容器运行时**:虽然默认使用的是Docker作为容器运行时,但也存在其他选项如containerd或CRI-O。确保目标环境中已预先安装并配置好相应的容器运行时[^4]。 对于Kubernetes而言,在线获取其最新稳定版本通常采用如下方式(然而此方法不适合于当前场景),即通过`curl -sSL https://dl.k8s.io/release/stable.txt`来查询最新的稳定版本号v1.16.3[^1]。因此,在离线安装前,应当事先下载对应版本的相关二进制文件以及文档说明,并将其转移至待部署的目标机器中。 #### 准备工作 考虑到网络访问受限的情况,建议按照以下流程做前期准备工作: - 下载必要的二进制文件,包括但不限于kubeadm、kubelet、kubectl工具; - 获取适用于特定硬件平台(amd64/x86_64等)的镜像清单,并利用具有互联网连接的工作站拉取这些镜像; - 将上述资源打包成压缩包形式以便后续传输给无网环境中的服务器节点。 #### 实际操作指南 一旦所有必需品都准备好之后,则可以着手实施具体的安装过程: ```bash # 解压先前收集好的软件包到指定位置 tar zxvf kubernetes-server-linux-amd64.tar.gz -C /usr/local/bin/ # 设置环境变量指向新安装路径 export PATH=$PATH:/usr/local/bin/ source ~/.bashrc # 初始化集群(注意这里假设已经完成了前置条件) sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # 加入额外的工作节点(如果适用的话) sudo kubeadm join ... ``` 值得注意的是,由于缺乏实时联网能力,某些自动化脚本可能无法正常运作;此时则需手动干预以解决可能出现的问题。另外,针对Minikube本身来说,同样也需要遵循类似的思路来进行本地化处理——先在线构建完整的启动套件再迁移过去执行。 #### 注意事项 在整个过程中需要注意几个方面: - 确认所有参与组建集群的物理机之间能够相互通信; - 提前规划好IP地址分配方案以免发生冲突; - 对比官方文档仔细核对每一步骤的具体参数设置; - 如果计划长期维持这样的封闭式架构,则应考虑建立内部仓库用于分发更新补丁和服务日志监控等功能。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员欣宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值