使用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. 【原创】洛谷 LUOGU P3366 【模板】最小生成树

    P3366 [模板]最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N ...

  2. 【MAC工具】手机抓包工具之 —— whistle

    本文链接:https://blog.csdn.net/weixin_42534940/article/details/88783455安装参考: https://github.com/avwo/whi ...

  3. log4j.properties log4j.xml 路径问题

  4. 用java写一个两个任意长度字符串数字和的算法

    package com.cn.test.string; public class StringTest { public static void main(String[] args) { Strin ...

  5. SRS之SrsHlsCache::reap_segment详解

    1. 是否可切片的检测 首先在调用 SrsHlsCache::reap_segment 函数进行切片时,针对音频或视频,都会有一个函数来进行检测当前片的时长是否符合所要求的时长. 对于音频,会调用 S ...

  6. IDEA Method definition shorthands are not supported by current JavaScript version

    sentinel-dashboard前端用到了AngularJS v1.4.8,在IDEA里修改js,触发js验证时有一些js文件会出现红色波浪线. 在代码行里鼠标一上去提示信息:Method def ...

  7. [学习]sentinel中的DatatSource(一) ReadableDataSource

    sentinel是今年阿里开源的高可用防护的流量管理框架. git地址:https://github.com/alibaba/Sentinel wiki:https://github.com/alib ...

  8. PHP-生产随机验证码图片

    // <span style="white-space:pre"> </span>//因为要把产生的验证码保存到session中,此处为session开始 ...

  9. LC 901. Online Stock Span

    Write a class StockSpanner which collects daily price quotes for some stock, and returns the span of ...

  10. Hibernate3核心API-Session接口

    Session是应用程序与数据库之间交互操作的一个单线程对象,是 Hibernate 运作的中心,所有持久化对象必须在 session 的管理下才可以进行持久化操作.此对象的生命周期很短.Sessio ...