首页 > 其他分享 >Kubernetes 1.3 从入门到进阶 安装篇:minikube

Kubernetes 1.3 从入门到进阶 安装篇:minikube

时间:2023-04-27 22:33:57浏览次数:43  
标签:bin kubectl 进阶 Kubernetes 1.3 version usr minikube local


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

标签:bin,kubectl,进阶,Kubernetes,1.3,version,usr,minikube,local
From: https://blog.51cto.com/u_16091571/6232256

相关文章

  • Buildroot(2022.08-rc1)+busybox(1.35.0)启动流程
     关键词:busybox,inittab,syslogd,klogd,mdev,modprobe,watchdog,telnetd等等。 《busybox启动流程简单解析:从init到shelllogin》详细介绍了init对inittab的解析和执行。下面为buildroot(2022.08-rc1)的启动脚本:/etc/inittabsysinit->/bin/mount-tprocproc/proc......
  • start minikube with Kubernetes 1.26
    适合于--kubernetes-version=v1.23.3之后的版本,可以使用docker驱动运行minikubestart--driver=docker--image-mirror-country='cn'--force--kubernetes-version=1.26.0--extra-config=apiserver.runtime-config=admissionregistration.k8s.io/v1alpha1--feature-gates=......
  • Day 28 28.2 JS进阶之eval和hook函数
    JS进阶之eval函数和hook函数【一】evaleval()函数计算JavaScript字符串,并把它作为脚本代码来执行。如果参数是一个表达式,eval()函数将执行表达式。如果参数是Javascript语句,eval()将执行Javascript语句。eval(string)//eval('[1,2,3,4,5].map(x=>x*x)')h......
  • Day 28 28.1 JS进阶之三元运算符
    JS工具之三元运算符【1】格式三元运算符:条件表达式?语句1:语句2;leta=10;letb=20;letd=a>b?a:bconsole.log(d);注释:条件运算符在执行时,首先对条件表达式进行求值,如果该值为true,则执行语句1,并返回执行结果如果该值为false,则......
  • Day 27 27.2 JS进阶之window对象
    JS-Function对象之window对象window是客户端浏览器对象模型的基类,window对象是客户端JavaScript的全局对象。一个window对象实际上就是一个独立的窗口,对于框架页面来说,浏览器窗口每个框架都包含一个window对象。(1)全局作用域在客户端浏览器中,window对象是访问BOM......
  • Day 27 27.1 JS进阶-Function对象之prototype对象
    JS-Function对象之prorotype原型对象案例1://创建方式1varfoo=newFunction("console.log('helloworld!')")foo()//创建方式2functionPerson(){console.log("helloperson")}varp1=Person()console.log(p1)varp2=newPers......
  • Day 27 27.3 JS进阶之ES6新语法
    JS工具之三元运算符【1】格式三元运算符:条件表达式?语句1:语句2;leta=10;letb=20;letd=a>b?a:bconsole.log(d);注释:条件运算符在执行时,首先对条件表达式进行求值,如果该值为true,则执行语句1,并返回执行结果如果该值为false,则......
  • Day 27 27.3 JS进阶之ES6新语法
    JS进阶之ES6新语法1.var、let以及constES6中引入了关键字let和const作为var的替代。它们非常有用,如今几乎每个JavaScript开发人员都在使用它们。与关键字var不同,这两个关键字具有块作用域。这意味着当你在块中声明它们时,它们只能在该块{}内访问。//f......
  • 数据库SQL语句从入门到进阶
    创建表createtablepeople(idint(11),namechar(11),phonechar(20),pwdvarchar(40)); 2. 增加语句    insertintopeoplevalues(9,'gang',13023299931,'qwert');3.向特定列增加语句insertintopeople(id,name,phone)values(9,'gang',13023299931);4......
  • Linux 进阶
    Linux定制篇1shell1.1定义1.2入门案例1.3变量环境变量位置参数变量预定义变量1.4运算法1.5条件判断1.6流程控制ifcaseforwhileread获取输入1.7函数系统函数自定义函数1.8定时......