Kubernetes单机运行环境一直是一个没有得到重视的问题。现在我们有了minikube,一个用go语言开发的可以在本地运行kubernetes的利器,不过目前应该只是支持kubernetes1.3。如果你只有一台机器或者虚拟机又想试验一下Kubernetes的新的功能,或者作kubernetes上开发的本地环境,minikube可能是你不错的选择。
下载minikube并设定
下载的时候突然发现版本已经是0.7.0了,发现是6个小时之前刚刚更新的,速度好快,从第一次发布的5/31的0.1版,到现在的第七次版本的迭代,基本上平均是一周一个版本的速度,这就是互联网时代的平均数度。当普通的企业推出新机能的时候,一般是在和用户的耐心在赛跑。但是一周一次的版本更新基本上是在脱着用户前进的节奏。下载来看看吧。
# curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.7.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 72.0M 100 72.0M 0 0 866k 0 0:01:25 0:01:25 --:--:-- 889k
[root@liumiao tmp]#
确认minikube
# which minikube
/usr/local/bin/minikube
# minikube version
There is a newer version of minikube available (v0.7.0). Download it here:
https://github.com/kubernetes/minikube/releases/tag/v0.7.0
To disable this notification, add WantUpdateNotification: False to the json config file at /root/.minikube/config
(you may have to create the file config.json in this folder if you have no previous configuration)
minikube version: v0.6.0
#
简单解释
curl -Lo 会把minikube下载到本地
chmod +x 给其加上执行权限
mv kubectl /usr/local/bin下是因为普通用户的path中缺省的有/usr/local/bin
minikube version: v0.6.0 ?这是个什么节奏,我只是想看个版本号。
按照提示,创建了其提示的目录,明确提示是0.6.0的版本。
# mkdir -p /root/.minikube/config
# minikube version
minikube version: v0.6.0
#
找到一台能够连接google机器,一样做了一遍,版本正常显示。0.6也好0.7也罢,继续前进。
# minikube version
minikube version: v0.7.0
#
下载kubectl并设定
我们还需要下载kubectl并设定
# curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.3.0/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 53.8M 100 53.8M 0 0 688k 0 0:01:20 0:01:20 --:--:-- 874k
#
确认kubectl
# which kubectl
/usr/local/bin/kubectl
# kubectl version
Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.0", GitCommit:"283137936a498aed572ee22af6774b6fb6e9fd94", GitTreeState:"clean", BuildDate:"2016-07-01T19:26:38Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
#
我们已经看到了新的版本信息了,Client Version: version.Info{Major:”1”, Minor:”3”, GitVersion:”v1.3.0”, Marjor的版本号1,Minor的3,1.3.0的kubernetes。但是为什么被8080refused了呢。别着急,还没有启动呢,这是没有成功连接kubernetes apiserver的节奏,一切正常,到目前为止,我们只是下载了一个可执行文件设置了权限而已。
安装条件
google官方是这样写的,Minikube requires the latest Virtualbox to be installed on your system,那么我们看看不安装会怎样。
# minikube start
Starting local Kubernetes cluster...
E0726 05:33:07.585166 4210 start.go:78] Error starting host: Error creating. Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"
#
好的,我们会好好安装的。有Virtualbox的可以跳过此步,minikube start不出错,就可以使用了。
CentOS上安装VB5.10。
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
# yum update
# yum install binutils qt gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms
# export KERN_DIR=/usr/src/kernels/3.10.0-327.22.2.el7.x86_64
注意此处根据具体情况3.10.0-327.22.2.el7.x86_64可能有所变化
# yum install VirtualBox-5.1
log的确认:/var/log/vbox-install.log
BIOS或者虚拟机设定:VT-X/AMD-v
# minikube start
Starting local Kubernetes cluster...
E0727 06:27:17.242507 66718 start.go:78] Error starting host: Error creating. Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
#
vmware的设定方法:VM => “Settings…” => Processors => 选中复选框Virtualize Intel VT-x/EPT or AMD-V/RVI
注意:只能在VM停下来的时候才能设定
BIOS的设定请根据机器型号自行google
启动:VirtualBox版本提示错误
# minikube start
Starting local Kubernetes cluster...
E0727 06:41:54.512097 3933 start.go:78] Error starting host: Error creating. Error with pre-create check: "We support Virtualbox starting with version 5. Your VirtualBox install is \"WARNING: The vboxdrv kernel module is not loaded. Either there is no module\\n available for the current kernel (3.10.0-327.22.2.el7.x86_64) or it failed to\\n load. Please recompile the kernel module and install it by\\n\\n sudo /sbin/vboxconfig\\n\\n You will not be able to start VMs until this problem is fixed.\\n5.1.2r108956\". Please upgrade at https://www.virtualbox.org"
#
被提示The vboxdrv kernel module is not loaded, 启动一下Virtualbox的Service吧
# /usr/lib/virtualbox/vboxdrv.sh setup
vboxdrv.sh: Starting VirtualBox services.
启动:成功
# minikube start
Starting local Kubernetes cluster...
Kubernetes is available at https://192.168.99.100:8443.
Kubectl is now configured to use the cluster.
#
总结
看起来很美好,目前用起来不是太方便。没有防火墙和内网限制的可以自由的使用非常方便。
安装脚本
#!/bin/bash
MINI_VERSION="0.8.0"
KUBE_VERSION="1.3.0"
MACHINE_VERSION="0.8.1"
curl -L https://github.com/docker/machine/releases/download/v${MACHINE_VERSION}/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine
which docker-machine
docker-machine version
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v${MINI_VERSION}/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
which minikube
minikube version
curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v${KUBE_VERSION}/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
kubectl version
cd /etc/yum.repos.d/
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
yum update -y
yum install -y binutils qt gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms
DIR=`ls -lrt /usr/src/kernels/|tail -n1 |awk '{print $NF}'`
export KERN_DIR="/usr/src/kernels/${DIR}"
yum install VirtualBox-5.1
/usr/lib/virtualbox/vboxdrv.sh setup
minikube start
相关推荐
【完整版15章】Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践(2021最新课程),课程从0开始,系统性掌握 K8s 知识体系及落地实践,基础知识+原理解析+实战贯穿,极度友好的 K8s 学习路径,全程项目贯穿,...
### Kubernetes从入门到进阶知识点解析 #### 一、Kubernetes简介 Kubernetes(简称K8s)是一种开源系统,用于自动化部署、扩展以及管理容器化应用。它为开发者提供了强大的容器编排能力,使他们能够高效地部署、...
从Docker到Kubernetes进阶,视频+web笔记,提供完整的自动化运维方式,完全干货,包括gitlab自建,EFK日志系统,等,让你轻松上纲上线,完成华丽的赚钱能力 课件web地址: https://www.qikqiak.com/k8s-book/
017 Kubernetes Pod控制器应用进阶.mp4
016 Kubernetes Pod控制器应用进阶.mp4
06-Kubernetes Pod控制器应用进阶.mp4
分享一套k8s课程——Kubernetes、k8s(1.22.3版)入门与进阶实践(2022新课,29章完整版) 系统讲解Kubernetes、以迁移SpringCloud为实战项目驱动、全程手撕YAML
分享k8s视频教程:Kubernetes入门到进阶实战,系统性掌握K8s生产实践(2021新课,基于v1.19版本),课程目录:第1章 课程导学第2章 课前准备之项目准备第3章 Kubernetes之Docker必知必会第4章 Kubernetes基础及集群...
《SpringBoot 从入门到进阶系列官方小册》是一份深入浅出的教程,旨在帮助初学者快速掌握SpringBoot框架,并逐步提升至高级应用水平。SpringBoot是Java开发领域中一个广泛使用的轻量级框架,它简化了Spring应用程序...
Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践视频教程,2021最新课程,完整版15章! K8s,容器编排的事实标准,云原生时代的企业技术战略重点,也是未来后端开发、运维必备技能。但 K8s 包含技术点繁多复杂...
GitHub动作Minikube 下载minikube和kubectl二进制文件,然后为Github Actions设置Minikube集群。 输入项 名称 描述 默认 minikube-version ...ip :Minikube IP jobs : minikube : runs-on : ubuntu-late
- **快速启动**:Minikube能够快速启动一个Kubernetes集群,只需几行命令。 - **多种驱动**:Minikube支持多种后端驱动,如VirtualBox、VMware Fusion、Hyper-V等,可以根据个人环境选择。 - **资源隔离**:通过...
从Docker到Kubernetes进阶课程,对于零基础或者有docker基础,想对k8s更上一层楼的童鞋,无疑是必备书籍。
Kubernetes 学习之入门篇,内部技术分享内容。主要内容:Kubernetes & Docker 简介 容器技术基础知识介绍 Kubernetes 核心设计浅析
04-kubernetes应用快速入门.mp4 05-kubernetes资源清单定义入门.mp4 06-Kubernetes Pod控制器应用进阶.mp4 07-Kubernetes Pod控制器应用进阶.mp4 08-Kubernetes Pod控制器.mp4 09-Kubernetes Pod控制器.mp4 10-...
K8s Kubernetes从入门到集群架构视频教程,集群搭建,教程,教学资料,Kubernetes视频教程
从Pod的基本使用到Replication Controllers和Deployments的管理,从Service的设置到Kubernetes API的使用,以及高级特性如持久化存储、资源配额、Service Account、Daemon Pod等,本书都做了详细的解释和示例。...
2k8s极速入门课程进阶Pod进阶场景学习目标学习步骤mp4 3k8s极速入门课程进阶Pod进阶回顾Pod概念mp 4k8s极速入门课程进阶Pod进阶创建Pod方法回顾mp4 5k8s极速入门课程进阶Pod进阶Pod中容器镜像下载簧略mp4 6k8s极速...
3. **虚拟化管理程序**:Minikube通过虚拟化技术来实现本地集群,这包括VirtualBox、VMware Fusion/Workstation、Hyper-V、Docker Desktop等,它们提供了一个隔离的运行环境,使得每个Minikube实例都能独立于操作...
Minikube是一个轻量级的Kubernetes环境,它允许用户在本地计算机上快速搭建和运行一个单节点的Kubernetes集群,以便于学习、测试或开发Kubernetes应用。它不需要大量的硬件资源,使得开发者可以在个人电脑上模拟真实...