使用Minikube运行一个本地单节点Kubernetes集群
使用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集群的更多相关文章
- 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)
使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...
- 在 Linux 部署多节点 Kubernetes 集群与 KubeSphere 容器平台
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,所有供为用户提供简单易用的操作界面以及向导式操作方式.同时,KubeSphere Installer 提供了 ...
- 使用Rancher Server部署本地多节点K8S集群
当我第一次开始我的Kubernetes之旅时,我一直在寻找一种设置本地部署环境的方式.很多人常常会使用minikube或microk8s,这两者非常适合新手在单节点集群环境下进行操作.但当我已经了解了 ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- Kafka单节点及集群配置安装
一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2. ...
- ActiveMQ的单节点和集群部署
平安寿险消息队列用的是ActiveMQ. 单节点部署: 下载解压后,直接cd到bin目录,用activemq start命令就可启动activemq服务端了. ActiveMQ默认采用61616端口提 ...
- 配置kubectl在Mac(本地)远程连接Kubernetes集群
集群部署在云服务器的ECS上,但是有时需要本地原创连接集群,这就需要通过ApiServer的外网地址去访问集群,但是-/.kube/config下的地址又都是内网,所以可以使用如下方式解决: Mac安 ...
- 基于minikube的kubernetes集群部署及Vitess最佳实践
简介 minikube是一个可以很容易在本地运行Kubernetes集群的工具, minikube在电脑上的虚拟机内运行单节点Kubernetes集群,可以很方便的供Kubernetes日常开发使用: ...
- 阿里云ECS(Ubuntu)单节点Kubernetes部署
参考资料: kubernetes官网英文版 kubernetes官网中文版 前言 这篇文章是比较久之前写的了,无聊翻了下博客发现好几篇博文排版莫名其妙的变了... 于是修改并完善了下.当初刚玩k8s的 ...
随机推荐
- 1250 Fibonacci数列(矩阵乘法)
1250 Fibonacci数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1+fn ...
- Prime Path (POJ - 3126 )(BFS)
转载请注明出处:https://blog.csdn.net/Mercury_Lc/article/details/82697622 作者:Mercury_Lc 题目链接 题意:就是给你一个n, ...
- XCTest-iOS单元测试框架
Xctest 是iOS的单元测试框架,有objective-c和swift两种语言可以选择 Xcuitest 是iOS的UI测试框架 XCTest 官方文档地址:https://devel ...
- VUE项目引入jquery
既然写项目,那么少不了用jq,那我们就引入进来吧 1.因为已经安装了vue脚手架,所以需要在webpack中全局引入jquery 打开package.json文件,在里面加入这行代码,jquery后面 ...
- 快速掌握Python的捷径-Python基础前传(1)
文: jacky(朱元禄) 开文序 最近看新闻,发现高考都考Python了,随着人工智能的火热,学数据科学的人越来越多了!但对于数据行业本身来说,现象级的火热,这并不是什么好事. 方丈高楼平地起,无论 ...
- C,线程池
/* 线程池组成: 1.管理者线程:创建并管理线程,包括添加.删除.销毁线程,添加新任务 2.工作线程:线程池中的线程,执行管理者分配的任务 3.任务接口:任务要实现的接口,供工作线程调用 4.任务队 ...
- RocketMQ使用记录
---恢复内容开始--- he following softwares are assumed installed: 64bit OS, Linux/Unix/Mac is recommended; ...
- ./与sh区别
1 ./需要执行权限,使用脚本文件中第一行#!指定的shell(解释器)来执行命令(譬如常见的/bin/bash),不指定系统会调用默认shell程序 2 sh不需要执行权限,是使用sh这个s ...
- 微信小程序swiper禁止用户手动滑动
最近做一个项目,由于用到了竖向swiper,导致占用屏幕过大,用户滑动总是滑动到swiper组件,页面无法向下拉动,于是找各种办法禁止用户手动滑动swiper组件. 经过网上一番查找,网友们也是闹洞大 ...
- C++继承中的属性
class A { public: int a; A() { } void print() { cout<<a; } }; class B:public A { public: int a ...