4. Hello Minikube

   日期:2024-12-26    作者:1vubc 移动:http://ljhr2012.riyuangf.com/mobile/quote/49434.html

Docker最开始是一个管理容器的工具,后来发展成为容器云。容器云以容器为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员提供用于构建、发布和运行分布式应用的平台。当容器云专注于资源共享与隔离、容器编排与部署时,它更接近传统的IaaS;当容器云渗透到应用支撑与运行时环境时,它是一种PaaS。

4. Hello Minikube

但是,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。于是,Kubernetes出现了。Kubernetes这个单词来自于希腊语,含义是舵手或领航员。缩写为K8S,8代表“ubernete”这8个字符。

更多内容,参考10分钟看懂Docker和K8S和浙大SEL实验室的《Docker 容器与容器云》。

  • BorgMaster 是整个集群的大脑,负责维护整个集群的状态,并将数据持久化到 Paxos 存储中;
  • Scheduer 负责任务的调度,根据应用的特点将其调度到具体的机器上去;
  • Borglet 负责真正运行任务(在容器中);
  • borgcfg 是 Borg 的命令行工具,用于跟 Borg 系统交互,一般通过一个配置文件来提交任务。

Master节点包括API Server、Scheduler、Controller manager、Etcd等。

  • API Server提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
  • Scheduler负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
  • Controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • Etcd保存了整个集群的状态。

Node节点包括Docker、Kubelet、Proxy、Pod等。

  • Docker负责管理容器。
  • Kubelet负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
  • Proxy负责为Pod对象提供代理。
  • Pod是Kubernetes最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8S还有一个Service的概念,一个Service可以看作一组提供相同服务的Pod的对外访问接口。

除了核心组件,还有一些推荐的 Add-ons:

  • kube-dns 负责为整个集群提供 DNS 服务
  • Ingress Controller 为服务提供外网入口
  • Heapster 提供资源监控
  • Dashboard 提供 GUI
  • Federation 提供跨可用区的集群
  • Fluentd-elasticsearch 提供集群日志采集、存储与查询

更多内容,参考Kubernetes 架构原理。

Minikube是在个人计算机上的虚拟机中运行单节点Kubernetes集群的工具。因为minikube要启动virtualbox虚拟机,在虚拟机中运行k8s集群。所以这里有两个安装思路:
思路一:在centos7虚拟机中安装virtualbox,以及minikube。
思路二:在本机win10中安装virtualbox,以及minikube。

对于思路一,因为virtualbox不支持Intel处理器的嵌套虚拟化,因此minikube无法在centos7虚拟机中再启动虚拟机,该思路不可行。

本文接下来使用思路二进行安装,默认virtualbox已经安装完成。安装方法参考

  • Install Minikube and Docker with VirtualBox on Windows 10 Home
  • Kubernetes 学习笔记之 MiniKube 安装

1、下载Docker Toolbox,双击安装。

2、启动Docker Toolbox
打开Docker quickstart terminal,Docker会进行初始化。

参考《Docker镜像站的配置和使用》配置镜像加速器,本文中使用阿里云的镜像加速器。

1、访问阿里云镜像加速器,得到一个专属的加速地址。

2、对于Docker Toolbox用户,首先进入default虚拟机

3、设置加速地址

4、验证配置

如果出现Registry Mirrors和加速地址,则表明设置成功。

常用命令:

1、下载阿里云版minikube v1.2.0,放入k8s目录,重命名为minikube.exe,并加入环境变量。其他版本修改下载的url即可,版本号可以在github aliyun minikube中找到。

之所以使用阿里云版minikube,是因为原版的minikube在国内启动失败,无法下载Minikube ISO镜像。

2、验证安装
右键+Shift打开Powershell,输入

3、启动minikube

5、启动minikube dashboard

其他安装方式参考Install Minikube。

1、下载kubectl,同样放到k8s目录。

2、验证安装

参考Hello Minikube,目标:

  • 将部署hello world应用程序部署到Minikube。
  • 运行应用程序。
  • 查看应用日志。

1、使用git bash启动minikube

2、准备镜像

其中server.js写入内容为:

Dockerfile写入内容为:

3、创建管理Pod的Deployment,Pod根据提供的Docker镜像运行容器。

4、查看Deployments和Pods

5、创建服务,将Pod公开到公共Internet

6、查看Pod和Service

7、删除service和deployment(可选)

8、关闭集群,删除集群(可选)


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号