使用Minikube是运行Kubernetes集群最简单、最快捷的途径,Minikube是一个构建单节点集群的工具,对于测试Kubernetes和本地开发应用都非常有用。

⒈安装Minikube

  Minikube是一个需要下载并放到路径中的二进制文件。它适用于Windows、Linux和OSX系统。

  Github地址:https://github.com/kubernetes/minikube,官方安装教程地址:https://minikube.sigs.k8s.io/docs/start/linux/,上面有详细的安装过程,我们可以借鉴官方的安装方法进行安装。

  我的是Centos7系统,执行以下命令:Centos7是rpm,我就直接使用rpm了。(需要科学 上 网,我是直接给虚拟机中的Linux配置了代理)

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-1.3.1.rpm \
&& sudo rpm -ivh minikube-1.3.1.rpm

  如果你不清楚你的Linux使用的是何种包管理器,就直接执行以下命令即可。  

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube

  

⒉配置管理程序设置并启动

  1.验证Linux系统是否已启用虚拟化支持。

egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no 

如果上面的命令输出“no”:

  • 如果您在虚拟机中运行的Linux做测试,则您的虚拟机管理程序不允许嵌套虚拟化。您将需要使用None(裸机)驱动程序
  • 如果您在物理计算机上运行,则需要在BIOS设置启用(CPU)硬件虚拟化。

  2.因为Minikube创建K8S虚机是通过Virtualbox来做的(当然还有其它driver,比如KVM,vmware等等)Minikube支持多种驱动程序 

  当使用VirtualBox来启动kubenetes集群;在未安装VirtualBox minikube start 会报如下错误:

  所以要先安装VirtualBox或者使用其它Minikube支持的管理程序。Linux上安装VirtualBox请参考这篇文章。https://www.cnblogs.com/fanqisoft/p/11315773.html

  ***因为我是在虚拟机中运行的Linux,然后在Linux之上运行Minikube,因此,我的Minikube管理程序(驱动)设置为None。

    1.以root身份运行以下命令使minikube以无驱动程序创建K8S虚机(需要科 学 上网)

sudo minikube start --docker-env HTTP_PROXY=${http_proxy} --docker-env HTTPS_PROXY=${https_proxy} --docker-env NO_PROXY=192.168.99.0/24 --vm-driver=none

    

  **使用minikube start 时将会拉取minikube的镜像,minikube的逻辑是创建一个vm,在这个vm里去运行k8s需要的各种docker image,而k8s的镜像不在 docker 官方仓库里,在谷歌自己的仓储里,这个仓库地址是被404的,所以运行start命令时需要跳过404,可以在start命令中设置代理,参考https://fatfatson.github.io/2018/07/23/mac%E4%B8%8A%E5%AE%89%E8%A3%85mimikube/,命令应该是这样的。

minikube start --docker-env HTTP_PROXY=${http_proxy} --docker-env HTTPS_PROXY=${https_proxy} --docker-env NO_PROXY=192.168.127.1:7777

也可以直接给虚拟机中的Linux挂代理,我是直接让Linux使用主机的VPN因此并没有使用上面的这个命令。

    2.设置none为Minikube默认值的管理程序(驱动),使用root用户运行以下命令

sudo minikube config set vm-driver none

⒊安装Kubernetes客户端(kubectl)

  要与Kubernetes进行交互,还需要kubectl CLI客户端。

  Kubectl是一个命令行界面,用于运行针对Kubernetes集群的命令。Kubernetes命令行工具kubectl允许您对Kubernetes集群运行命令。您可以使用kubectl部署应用程序,检查和管理群集资源以及查看日志。

  github地址:https://github.com/kubernetes/kubectl,官方安装教程:https://kubernetes.io/docs/tasks/tools/install-kubectl/

  官方有详细的安装说明,我这里就不赘述,使用以下命令进行安装。

  1.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

  2.

yum install -y kubectl

使用Minikube运行一个本地单节点Kubernetes集群的更多相关文章

  1. 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)

    使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...

  2. 在 Linux 部署多节点 Kubernetes 集群与 KubeSphere 容器平台

    KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,所有供为用户提供简单易用的操作界面以及向导式操作方式.同时,KubeSphere Installer 提供了 ...

  3. 使用Rancher Server部署本地多节点K8S集群

    当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...

  4. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  5. Kafka单节点及集群配置安装

    一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...

  6. ActiveMQ的单节点和集群部署

    平安寿险消息队列用的是ActiveMQ. 单节点部署: 下载解压后,直接cd到bin目录,用activemq start命令就可启动activemq服务端了. ActiveMQ默认采用61616端口提 ...

  7. 配置kubectl在Mac(本地)远程连接Kubernetes集群

    集群部署在云服务器的ECS上,但是有时需要本地原创连接集群,这就需要通过ApiServer的外网地址去访问集群,但是-/.kube/config下的地址又都是内网,所以可以使用如下方式解决: Mac安 ...

  8. 基于minikube的kubernetes集群部署及Vitess最佳实践

    简介 minikube是一个可以很容易在本地运行Kubernetes集群的工具, minikube在电脑上的虚拟机内运行单节点Kubernetes集群,可以很方便的供Kubernetes日常开发使用: ...

  9. 阿里云ECS(Ubuntu)单节点Kubernetes部署

    参考资料: kubernetes官网英文版 kubernetes官网中文版 前言 这篇文章是比较久之前写的了,无聊翻了下博客发现好几篇博文排版莫名其妙的变了... 于是修改并完善了下.当初刚玩k8s的 ...

随机推荐

  1. 计算(calc.cpp) 这题我搞了2晚上qwq

    终于会了!可喜可贺!可喜可贺!   计算(calc.cpp) [问题描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)” ...

  2. 转:JMeter5的If Controller操作解析

    问题描述 在JMeter中添加了If Controller控制器,然后再控制器的表达式输入框中输入了预先构造的为“真”条件,执行Run发现结果树中并没有监控到执行的记录. 问题分析 在最新版JMete ...

  3. P2699 【数学1】小浩的幂次运算

    原题链接 https://www.luogu.org/problemnew/show/P2699 P2699 [数学1]小浩的幂次运算 首先第一眼看这个题就知道要暴力枚举w^i 看是否在区间[l,r] ...

  4. Django从Models 10分钟建立一套RestfulApi

    目录 Django从Models 10分钟建立一套RestfulApi Django从Models 10分钟定制一个Admin后台 简介 Django是一套完善而强大的web开发框架, 结合Djang ...

  5. dubbo中的group与version的存在意义

    公司每周五都要给线上系统发布一个版本,我将本周新开发的业务模块直接提交到svn的主干上(当然本机已经测试通过),在公司的测试环境部署运行正常,测试人员业务测试通过.但是在部署到准生产环境上后出现了意想 ...

  6. [MyBatis]最简MyBatis工程

    下载地址:https://files.cnblogs.com/files/xiandedanteng/fillMillionDatum01_191005.rar --END-- 2019年10月5日1 ...

  7. 数据库 | SQL语法优化方法及实例详解

    使用复合索引 如果经常执行如上查询,那么建立三个单独索引不如建立一个复合索引,因为三个单独索引通常数据库每次执行只能使用其中一个,虽然这样比不使用索引而进行全表扫描提高了很多效率,但使用复合索引因为索 ...

  8. MySQL 如何使用show processlist进行过滤

    在使用show processlist的时候,直接使用会显示很多的内容,无法很快找到需要的信息. 如何过滤操作呢? 其实,show processlist展示的内容是从information_sche ...

  9. [面试] Java高级软件工程师面试考纲(转)

    如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对 ...

  10. 适用于hips ui的iPhoneX及以上适配方案

    版本信息: hips ui: 0.1.43 须知: 随着hips ui的迭代,可能会解决适配问题,所以下面的方案是有时效性的. 如果你项目上很紧急,可以直接看第三部分解决方案,复制粘贴代码即可. 一. ...