使用 Minikube 安装 Kubernetes
概述:
单机低配置主机也可以玩转kubernetes集群。该文章是将介绍使用Minikube安装Kubernetes集群(一般用于本地/开发环境)。
这篇文章是根据kubernetes官网和其他资料总结而来,如环境相似(或更高),一般均可以安装成功。
配置环境:
硬件:CPU 至少2个核心,至少2.5G(2560M)内存
软件:virtualbox虚拟机,操作系统 CentOS Linux release 7.7.1908 (Core)
注意:
CPU 必须2个或2个以上,否则安装失败。内存必须2.5G或大于2.5G,否则磁盘IO总是100%。
说明:
如无特殊说明,本文中的所有命令全部使用root用户执行。
一、准备工作
1.1 关闭防火墙、关闭SELinux、禁用swap、设置kubernetes源
请参考 Kubernetes(K8s) 安装(使用kubeadm安装Kubernetes集群)
1.2 下载kubectl文件和Minikube文件
kuberctl文件:下载
Minikube文件:下载
(说明:这里需要将下载的文件放入到虚拟机。当然也可以使用curl命令直接下载)
结果如下图:
二、安装docker
请参考 史上最详细的Docker安装手册
三、安装kubectl和minikube
3.1 将kubectl和minikube文件改为可执行文件
执行以下命令:
chmod +x kubectl && chmod +x minikube
结果如下图(kubectl和minikube文件变为绿色):
3.2 将kubectl和minikube复制到 /usr/local/bin/ 目录
# cp kubectl /usr/local/bin/ && cp minikube /usr/local/bin/
# ls /usr/local/bin/
结果如下图:
3.3 检验是否安装成功
kubectl --help
安装成功,显示结果如下图:
minikube version
安装成功,显示结果如下图:
四、启动minikube
4.1 安装conntrack
yum install -y conntrack
4.2 下载kubernetes镜像
由于minikube启动过程中会从k8s.gcr.io下载镜像,但是国内无法下载,所以从阿里云下载(并修改tag和k8s.gcr.io一致)。
## . 使用docker执行以下命令,下载镜像(从阿里云下载):
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4. &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6. &&
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 ## . 更改镜像标签(必须修改):
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 k8s.gcr.io/kube-apiserver:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 k8s.gcr.io/kube-controller-manager:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 k8s.gcr.io/kube-scheduler:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2 &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4. k8s.gcr.io/etcd:3.4.- &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6. k8s.gcr.io/coredns:1.6. &&
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1
4.3 启动minikube
## 使用下面的命令进行启动minikube
minikube start --driver=none
执行成功,结果如下图:
执行以下命令:
## 如之前已经安装过,请先删除对应的文件
mv /root/.kube /root/.minikube $HOME # 如果使用的root用户,这一步可以省略
chown -R $USER $HOME/.kube $HOME/.minikube
注意:
## 1:如安装过程中遇到问题,可以执行以下命令来查看日志
minikube logs
## 2:执行以下命令删除已经安装的minikube(然后重新执行start命令)
minikube delete
## 3:如安装失败,可多次进行尝试(start 和 delete)
五、校验是否安装成功
查看minikube安装是否成功,执行以下命令:
minikube status
安装成功,显示如下图:
kubectl cluster-info
说明:
可以根据自己的需要是否安装dashboard
# 安装dashboard
minikube dashboard
参考资料:
https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux
https://kubernetes.io/zh/docs/tasks/tools/install-minikube/
https://yq.aliyun.com/articles/691500
https://minikube.sigs.k8s.io/docs/drivers/docker/
--------------------------------------------------------------------------------------------------------
PS:如有问题,请在下方留言,我看到后会及时回复。
--------------------------------------------------------------------------------------------------------
使用 Minikube 安装 Kubernetes的更多相关文章
- kubernetes学习笔记(一)——minikube安装记录
想学习一下kubernetes,于是先安装一个单机版来学习一下.但是就是这个最简单的单机版安装方式都倒腾了我好久,记录下自己的安装过程.博主是在windows利用vmware workstation安 ...
- 安装Kubernetes到CentOS(Minikube)
运行环境 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:Docker-ce-18.06.0.Kubectl-1.15.0.Kubernetes-v1.1 ...
- Minikube 安装
安装Minikube 在容器编排工具中安装配置最复杂的就是Kubernetes,想要运行一个简单的容器集群环境,对于没有使用过Kubernetes的人来说,需要花费一定的时间去理解各组件的概念和功能, ...
- 基于minikube的kubernetes集群部署及Vitess最佳实践
简介 minikube是一个可以很容易在本地运行Kubernetes集群的工具, minikube在电脑上的虚拟机内运行单节点Kubernetes集群,可以很方便的供Kubernetes日常开发使用: ...
- mac上利用minikube搭建kubernetes(k8s)环境
友情提示:对于初次接触k8s的同学,强烈建议先看看本文最后的参考文章. 环境: mac os(Mojave) 前提:先安装好kubectl (brew install kubectl) .docker ...
- VirtualBox上使用kubeadm安装Kubernetes集群
之前一直使用minikube练习,为了更贴近生产环境,使用VirtualBox搭建Kubernetes集群. 为了不是文章凌乱,把在搭建过程中遇到的问题及解决方法记在了另一篇文章:安装Kubernet ...
- K8s炼气期(一)| minikube安装本地Kubenetes环境
前言 根据Kubenetes学习路径的七大阶段,炼气期.筑基期.金丹期.元婴期.化神期.炼虚期.大乘期:开始炼气期的第一个小阶段,安装Kubenetes环境. 目录 1.安装kubectl 2.安装m ...
- K8S 使用Minikube搭建Kubernetes(K8S)~单机运行Kubernetes~适用于快速学习
在一台主机上运行起来的Kubernetes,仅适用于学习!~~~ 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:Docker-ce-18.06.0.Ku ...
- Centos7上安装Kubernetes集群部署docker
一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...
随机推荐
- 数据结构和算法(Golang实现)(6)简单入门Golang-并发、协程和信道
并发.协程和信道 Golang语言提供了go关键字,以及名为chan的数据类型,以及一些标准库的并发锁等,我们将会简单介绍一下并发的一些概念,然后学习这些Golang特征知识. 一.并发介绍 我们写程 ...
- php+ajax实现拖动滚动条分批加载请求加载数据
HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- SVG案例:动态去创建元素createElementNS
案例一: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- react: typescript import images alias
1.webpack.config.js resolve: { extensions: ["ts", "tsx", "js", "j ...
- PHP中的11个魔术方法
1.__get.__set 这两个方法是为在类和他们的父类中没有声明的属性而设计的 __get( $property ) 当调用一个未定义的属性时访问此方法__set( $property ...
- linux下的.ssh文件夹路径等
1.linux下的.ssh文件夹在~下,直接cd ~/.ssh即可 2.tp经过gd类处理过的水印图片格式为png 3.前端扒下别人家的网站如果自己本地打开有出现相同的代码段则有可能是js动态添加的, ...
- 2019-2020-1 20199325《Linux内核原理与分析》第二周作业
冯诺依曼计算机硬件框图: 下面是一个简单的程序example.c. intadd_a_and_b(int a,int b){returna+b;}intmain(){returnadd_a_and_b ...
- automake autoconf 使用详解
本文地址: http://www.laruence.com/2009/11/18/1154.html 文章转自: http://www.linuxcomputer.cn/ 作为Linux下的程序开发人 ...
- 异常:由 spring-session pom 引发
错误异常 Correct the classpath of your application so that it contains a single, compatible version of o ...
- Android:RelativeLayout 内容居中
Android RelativeLayout 内容居中解决办法: 使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有gravity属 ...