您现在的位置是:首页 > 正文

minikube安装kubernetes(Centos7)【图文】

2024-04-01 01:07:26阅读 3

k8s有很多种安装方式:kind、minikube、kubeadm,以及官方二进制方式安装; 

kind是一个基于docker方式创建kubenetes的方式;

minikube允许使用mac、linux、windows快速创建一个k8s集群;

kubeadm方式基于二进制快速安装一个集群,是准生成环境的集群也支持多数据节点的集群。

但是需要在生产环境执行的k8s集群需要使用官方发行的二进制进行安装,快速安装方式虽然方便但是屏蔽了很多底层的细节,发现问题很难发现问题,并且基于二进制方式创建也非常利于去理解其运行原理,更有利于后期的维护。

能快速开始搭建也是蛮好的选择,否则就从可能放弃于繁琐的安装过程,kubernetes安装需要满足cpu 至少2核心、内存至少可用的1.8G, 自己的阿里云服务器2G,可用的却不足1.7G,导致我果断快速的买了一个4G的服务器,哭一会儿...

1、准备工作

1)、 docker安装

docker的安装过程可以参考:Docker的基本概念、环境搭建、常用命令

需要修改docker配置 /etc/docker/daemon.json (如果没有目录或文件自行创建)为如下:

{

"registry-mirrors": ["https://mxdu1aof.mirror.aliyuncs.com"],

"exec-opts": ["native.cgroupdriver=systemd"]

}

并保存修改的配置、重启docker

systemctl daemon-reload && systemctl restart docker

2)、关闭防火墙和SeLinux、禁用swap

systemctl stop firewalld && systemctl disable firewalld

setenforce 0

sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux

swapoff -a && sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux

2、下载安装minikube

下载 kubectl和minikube

cd /home/kubernetes

wget http://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl

wget https://storage.googleapis.com/minikube/releases/v1.18.0/minikube-linux-amd64

将minikube名称修改为 minikube: mv minikube-linux-amd64 minikube

修改文件添加执行权限,将包copy到目录/usr/local/bin/ 下

chmod +x kubectl && chmod +x minikube

cp kubectl /usr/local/bin/ && cp minikube /usr/local/bin/

ls /usr/local/bin/ 

查看安装的版本:

kubectl version --client

minikube version

配置阿里的Kubernetes yum源(如果执行时报检查秘钥失败等,则将下面配置中的 gpgcheck=0

repo_gpgcheck=0),如下:

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

更新yum缓存

yum clean all

yum -y makecache

安装bash-completion命令补全以及 安装conntrack

yum -y install bash-completion

source /etc/profile.d/bash_completion.sh

yum install -y conntrack

下载minikube start所需要的镜像,通过阿里云镜像网下载

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.3 && \

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 && \

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.3 k8s.gcr.io/etcd:3.4.3-0 && \

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7 && \

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner:v1.8.1 gcr.io/k8s-minikube/storage-provisioner:v1.8.1

出现问题需要下面的脚本处理

yum -y install socat                      # 安装socat

systemctl enable kubelet.service               # 在hosts中配置名称

echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables        # 在bridge-nf-call-iptables 写入

再次执行start命令,并且查看是否成功

minikube start --vm-driver=none --kubernetes-version='v1.18.0'

minikube status

安装minikube dashboard,先执行 ifconfig 查看当前的ip为: 172.20.85.70

启动kubect proxy

kubectl proxy --port=8000 --address='1 172.20.85.70' --accept-hosts='^.*' &

运行dashboard:minikube dashboard

浏览器输入(使用的阿里云,需要在安全组规则处开放8000端口,并且使用外网ip访问):

http://47.94.100.66:8000/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default

这里应该有掌声

网站文章

  • SpringMVC 之validator验证笔记(五)

    SpringMVC支持的数据校验是JSR303的标准,通过在bean的属性上打上annotation @NotNull @Max等进行验证。JSR303提供有很多annotation借口,而SpringMVC对于这些验证是使用hibernate的实现,所以我们需要添加hibernate的一个validator包: org.hibernate hibernate-valid

    2024-04-01 01:06:56
  • clould front 中的createinvalidation 是个什么东西?

    CloudFront 中的 CreateInvalidation 是一个用于刷新缓存的 API 操作。当您更新了存储在 CloudFront 缓存中的对象时,可能需要使用 CreateInvalida...

    2024-04-01 01:06:48
  • java中使用akka手记三 cluster详例

    http://www.tuicool.com/articles/m2muui原文  http://2014.54chen.com/blog/2014/04/17/how-to-use-akka-in-java-3/ 一个例子同样是typesafe的经典例子。例子提供的服务是传输文本。当文本发给frontend节点,它会委派backend节点,backend执行转化任务,

    2024-04-01 01:06:40
  • fastadmin开发插件的基本流程

    fastadmin开发插件的基本流程

    什么是fastadmin? FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。 fastadmin开发基础管理插件步骤 以一个学校管理插件为例 开发环境与工具 PHPSTORM phpstudy nginx1.15.11 mysql8.0 php7.3.4 准备工作 配置站点 我的域名设置为fast51admin.localhost....

    2024-04-01 01:06:10
  • ios swift 继承_Swift中的继承

    ios swift 继承 什么是继承? (What is Inheritance?) Inheritance allows a class to have the same behavior as o...

    2024-04-01 01:05:36
  • 基于顺序表实现栈的基本操作

    基于顺序表实现栈的基本操作

    栈:什么是栈?又该怎么理解呢?栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来(先进后出)栈(Stack)是操作系统在建立某个进程时或者线程(在支持多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有FIFO的特性,在编

    2024-04-01 01:05:31
  • NTP配置时间同步

    Oracle RAC两个节点,配置NTP使得两个节点时间同步 1)节点1和节点2都启动NTP服务,节点2(客户端)向节点1(服务器端)同步 如果测试用,可修改节点2的时间不同于节点1的时间,...

    2024-04-01 01:05:25
  • linux主机加入组播组,linux下不同主机间实现组播(练习代码)

    在写聊天室程序时,遇到一个组播问题,不能在不同主机上进行发送接收消息。。。深究发现,是本人对sendto与recvfrom的理解太浅薄。以下代码发送端与接收端可在同一主机,也可在不同主机上运行。代码直...

    2024-04-01 01:05:18
  • 正则表达式总结

    第一点:--------------有关正则前沿介绍 正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现。javascript中还会用到。一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。就像通配符“*.jpg”、“%ab%”,它...

    2024-04-01 01:04:52
  • 计算机系统结构李学干课后习题答案,计算机系统结构习题答案(李学干).doc

    计算机系统结构习题解答第一章习题一1.2一台经解释实现的计算机,可以按照功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条...

    2024-04-01 01:04:45