Windows 10 Kubernetes(minikube)搭建

Kubernetes是什么?
Kubernetes (K8s) 是开源的集群管理工具,用来管理集群中容器对象,自动实现负载均衡。

前言
Windows 10 Docker的环境搭建
https://blog.csdn.net/hanjupiter/article/details/100173356

在Linux系统中,使用kubeadmin来管理多个集群节点。 例如:一个master主机,两个node节点,组成1个对外的主机
在Windows系统中,使用minikube 来进行单节点模式管理集群

在微服务中,将各个接口剥离开后,将每一个业务接口按照业务量的多少 来创建多个容器,在Kubernetes 中自动实现负载均衡 在相同容器间的访问资源。
如:传统形式下,创建2台主机,将所有的业务(登录,用户数据查询,下单等)通过一个war 部署到tomcat中,由于主机的接口是唯一的,当登录和用户数据查询接口被大量访问时,会造成大量资源被占用,此时想增加tomcat服务,需要修改代理服务设定,才能响应。
而在Kubernetes 中,可以将各接口按使用量来创建对应个数的容器,负载均衡的方式进行访问,如登录 8个容器,用户数据查询 10个容器,下单 5 的容器,这时当大量的用户数据查询发生时,也不会将其他的业务影响到,并且如果某个业务的容器资源占用率高时,可以随时添加新的容器,与原来的容器组进行合并,扩大负载均衡容器的数量,保证业务稳定运行,对外的接口不需要进行变更。

在一个集群中,通过Kubernetes ,来创建容器集群(POD),service。外部网络调用到service,service调用POD中的docker容器。

1.官方链接

1.kubernetes官网中minikube安装文档 网址跳转
2.minikube官方文档 网址跳转

2.下载

minikube官网 下载地址跳转
下载方式有2种:

  1. 使用windows 安装器
minikube-installer.exe
  1. 使用直连的方式,进入到GIT项目中,进行下载
minikube-windows-amd64

下载方式1

在GIT中找到minikube-installer.exe的安装包,进行下载
当前下载的是v1.6.2版本
下载地址:v1.6.2-minikube-installer

在这里插入图片描述
下载后的文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载方式2

不进行介绍

3创建minikube集群

文档链接 启动minikube
准备:
创建hyper-v的虚拟网卡,指向到本机的网卡上
1.开始中搜索hyper-v,并打开Hyper-V管理器
2.打开虚拟交换机管理器
在这里插入图片描述
3.创建虚拟交换机,选择外部
minikube服务器与主机为同一个网段,并且设定静态IP后,重启电脑后,依然可以正确访问,否则重启电脑后,IP地址发生变更,无法访问。
在这里插入图片描述

4 虚拟交换机设定名称,当前设定的是minikube-net(此时主机及虚拟机会共享此IP地址)在这里插入图片描述
3.在虚拟网卡中,添加虚拟网卡的DNS。
在这里插入图片描述

3.1 启动 Minikube 并创建一个集群(kubernetes版本号1.16)

※当前最新版本为1.17,由于镜像效验问题,无法正确安装,则使用1.16版本

minikube start --vm-driver=hyperv  --memory=4096 --disk-size='30000mb' --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --hyperv-virtual-switch="minikube-net" --kubernetes-version v1.16.0

解释:
minikube start 创建默认集群/启动已经关闭的默认集群
--vm-driver=hyperv 指定虚拟机类型,win10是hyperv
--memory=4096  指定服务器的内存大小至4GB,参考下记的问题4,默认为2GB
--disk-size='30000mb' 多个镜像及容器启动占用大量磁盘,初始值增大服务器的磁盘容量
--image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" 镜像下载地址重定向,参考下记的问题1和2
--hyperv-virtual-switch="minikube-net" 使用指定的虚拟交换机
--kubernetes-version v1.16.0 指定的kubernetes版本

安装时间非常漫长,当提示kubeadm,kubelet 下载失败后,使用问题3的解决方案即可。

3.2 虚拟机驱动名称一览

一览列表

3.3 设定hyperv默认驱动器
minikube config set vm-driver hyperv
3.4 集群内存设定

minikube 默认内存设定为2G,扩大内存命令

minikube config set memory 4096
3.5 问题一览

使用默认启动命令时,会遇到下面的问题

minikube start --vm-driver=hyperv

问题1
minikube系统 下载速度慢
在这里插入图片描述
或者无法下载minikube.iso

解决方案
登录minikube的git库,下载指定版本的镜像文件,例如:当前提示为minikube-v1.7.0.iso
保存到用户下的缓存路径中,例如:C:\Users\Administrator.minikube\cache\iso

https://github.com/kubernetes/minikube/releases

在这里插入图片描述

问题2
无效的内存地址或空指针异常
在这里插入图片描述
解决方案
镜像及容器替代路径:

--image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" 

问题3
kubeadm 和 kubele联网下载失败
在这里插入图片描述
问题3的解决方案
使用第三方工具进行下载,存储至user下的{user}.minikube\cache\v1.16.0文件夹中
例如:

C:\Users\Administrator\.minikube\cache\v1.16.0
kubeadm http://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubeadm

kubelet http://storage.googleapis.com/kubernetes-release/release/v1.16.0/bin/linux/amd64/kubelet

存储路径:
在这里插入图片描述
再次启动minikube,成功安装

minikube start --vm-driver=hyperv --memory=4096 --disk-size='30000mb' --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --hyperv-virtual-switch="minikube-net" --kubernetes-version v1.16.0

加粗样式

问题4

apiserver无法响应
1.未重启WIN10系统的场合,minikube服务器的IP地址没有发生变更
在这里插入图片描述
在这里插入图片描述
解决方法:
增大 minikube 服务器的内存

--memory=8192

2.重启WIN10系统的场合,hyper-v的内部虚拟网卡及minikube的服务器的IP地址发生了变更。

解决方法:
需要minikube绑定静态IP地址,设定指定Vlan的虚拟网卡

--hyperv-virtual-switch="minikube-net"

IP地址恢复

minikube ssh "sudo ifconfig eth0:0 IP地址"
例如:minikube ssh "sudo ifconfig eth0:0 192.168.1.105"
问题5

1.7.0版本的minikube工具,无法正确创建minikube的服务器主机
提示错误:

'minikube delete': create: provisioning: Temporary Error: mkdir -p C:\Users\Administrator\.minikube: exec: "mkdir": executable file not found in %PATH%

在这里插入图片描述
解决方案
使用1.6.2版本的minikube工具
下载地址:v1.6.2-minikube-installer

3.6 启动minikube控制台

生成kubernetes控制台网址

minikube dashboard
※1.重启电脑/退出当前命令行,网页无法进行访问,需要重新生成url地址

在这里插入图片描述

使用网址登录到kubernetes网页控制台
在这里插入图片描述
在Nodes选项卡中,minikube的集群节点已经创建
在这里插入图片描述

3.7 查询minikube集群中已经下载的容器镜像
登录到集群
minikube ssh
查看集群中已经下载的镜像 
docker images

在这里插入图片描述
minikube安装基础环境包
路径:/var/lib/minikube/images/
在这里插入图片描述

3.8 删除minikube集群节点
minikube delete

在这里插入图片描述

3.9 查看minikube集群节点状态
minikube status

在这里插入图片描述

3.10 查看kubernetes集群节点(node)状态
kubectl get node

在这里插入图片描述

3.10 查看kubernetes集群节点组件
kubectl get pod -n kube-system

在这里插入图片描述

3.11 停止minikube集群节点
minikube stop

minikube stop

3.12 创建新的minikube集群节点
minikube start -p 集群节点名称
3.13 重启已经存在的minikube集群节点
默认集群
minikube start --vm-driver=hyperv --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --kubernetes-version v1.16.0
指定名称的集群
minikube start -p 集群名称 --vm-driver=hyperv --image-repository="registry.cn-hangzhou.aliyuncs.com/google_containers" --kubernetes-version v1.16.0
3.14 配置minikube的docker镜像加速

由于minikube中下载registry-1.docker.io/v2/library/站点中的docker镜像非常缓慢,导致创建容器失败,需要配置docker的加速配置
※注:不要配置本地仓库 insecure-registries,因为/lib/systemd/system/docker.service文件中已经有相关的配置,如果重复设定会导致docker重启失败。

1.登录到minikube中
minikube ssh
2.切换到/etc/docker/路径下
$ cd /etc/docker/
3.切换到root权限
$ sudo su root
4.创建并编写daemon.json文件
$ cat > daemon.json <<EOF
5.提示 > 时,粘贴下面的配置 
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com",
    "https://dockerhub.azk8s.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
6.输入EOF ,退出并保存
>EOF
7.重启docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Kubernetes是一种可扩展和便携式的容器编排系统,可以帮助开发人员和运维人员更轻松地管理和部署容器化应用程序。下面是Kubernetes DevOps搭建流程的步骤: 1. 安装Docker和Kubernetes CLI Docker是一种容器技术,可以在其中运行应用程序。Kubernetes CLI是Kubernetes的命令行工具,可以帮助您管理Kubernetes集群。在安装之前,请确保您的服务器版本符合要求。 2. 安装Kubernetes集群 您可以使用Kubeadm、Minikube或Kops等工具来安装Kubernetes集群。Kubeadm是官方推荐的安装工具,可以帮助您快速轻松地在本地或云服务器上安装Kubernetes集群。 3. 创建Kubernetes对象 Kubernetes对象是Kubernetes中的基本构建块,可以帮助您定义和管理应用程序的部署、服务、存储和网络等资源。您可以使用YAML文件创建Kubernetes对象。 4. 部署应用程序 使用Kubernetes对象和Docker镜像,您可以轻松地部署应用程序。您可以将应用程序部署为Pod、Deployment或Service等Kubernetes对象。 5. 监控和日志记录 Kubernetes提供了许多内置的监控和日志记录工具,例如Prometheus、Grafana和ELK等工具。您可以使用这些工具来监控和分析应用程序的性能和状态。 6. 自动化部署和测试 使用自动化工具(例如Jenkins、GitLab CI/CD等),您可以自动化部署和测试应用程序。这些工具可以帮助您更快地部署新功能和修复程序错误。 7. 安全和身份验证 Kubernetes提供了内置的安全和身份验证机制,例如RBAC(基于角色的访问控制)、TLS(传输层安全协议)和OAuth2等。您可以使用这些机制来保护应用程序和数据的安全性。 以上是Kubernetes DevOps搭建流程的基本步骤。在实际操作中,您可能需要根据自己的业务需求和实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值