从零开始快速搭建本地 Kubernetes 测试环境

By 胡涛 (@daniel-hutao) | 18.04.2022

从零开始?从零开始!

var 零=99 // 别紧张,Just a jok。

Let’s Get Started!

概述

“Kubernetes 集群部署”严格来说是一个复杂的技术活,有很多的可选方案。要交付一套靠拢“最佳实践”的高可用集群有很多需要考虑的技术细节。关于如何部署“真正高可用的 Kubernetes 集群”不在本文的讨论范围,所以今天我们的目标是使用一种简单的方式快速部署一个可用的 Kubernetes 环境。这套环境主要用于满足 DevStream 的开发测试需求。

快速部署 Kubernetes 有好几种可选方案,比如 Minikube 和 Kind。 Minikube最先基于虚拟化实现(新版本也支持容器化实现了),也就是通过 virtualbox 或者 kvm 等工具在本地创建若干虚拟机,然后在虚拟机中运行 Kubernetes 集群,一个节点也就对应一台虚拟机。Kind 通过容器化实现,也就是通过 Docker 在本地启动若干容器,每个容器充当 Kubernetes 的一个节点,在容器内再运行容器化应用。本文我们选择用 Kind 这种“容器中跑容器”的方式来搭建 Kubernetes 环境。当然如果大家有其他擅长的工具,也完全可以用,我们的目的仅仅是快速部署一套可用的 Kubernetes 集群环境。

本文以 macOS 作为开发环境,使用 Linux 或者 Windows 系统作为开发环境的同学可以参考本文的方法,相应地做一些灵活调整。

Docker 的安装

在 Linux 下安装 Docker 是一件非常简单的事情,Docker 的核心原理就是基于 Linux 的 Namespace 和 Cgroup 等机制。不过在 macOS 和 Windows 下就需要通过虚拟化技术间接使用 Docker 了。当然我们现在已经不需要先安装虚拟化软件然后自己安装 Linux 虚拟机,再使用 Docker 了。我们可以直接在 docker.com 下载 Docker Desktop 来跑 Docker 程序。

我们在 https://www.docker.com/products/docker-desktop 寻找合适的 Docker Desktop 版本,主要是看清楚 cpu 架构是 Intel Chip 还是 Apple Chip,前者对应 amd64 架构版本 Mac,后者是 arm 架构的 M1 芯片版本 Mac。 下载页面大致如下:

file

下载完成后双击 Docker.dmg 文件,可以看到安装页面:

file

我们把 Docker 图标拖到 Applications 里,稍等不到半分钟,就可以在“启动台”里看到 Docker 图标了,然后点击“启动台”里的 Docker 打开 Docker Desktop:

file

稍等几秒钟,就可以看到启动页面了:

file

我们可以点击右上角的“齿轮⚙️”按钮来修改 Docker Desktop 的一些配置,比如调整 Docker 可以使用的资源等。如果后面我们需要启动的容器稍多一些,内存不够用了,可以回到这里来调整,比如我这里把 Memory 调大到 4.00 GB:

file

修改后记得点击右下角的“Apply & Restart”才会生效。

Kind 介绍

Kind(Kubernetes-in-docker) 是一个使用 Docker 容器作为“节点”实现部署 Kubernetes 集群环境的工具。Kind 工具主要用于 Kubernetes 本身的测试,目前在很多需要部署到 Kubernetes 环境测试的项目在 ci 流程中都会选择用 Kind 来快速拉起一个 Kubernetes 环境,然后运行相关测试用例。

Kind 本身很简单,只包含一个简单的命令行工具“kind”和一个用来启动 Kubernetes 和 systemd等的 Docker 镜像。我们可以这样理解 Kind 的原理:它通过 Host 主机上的 Docker 使用封装了 Kubernetes 等工具的容器镜像拉起一个容器,这个容器里运行了 systemd,容器中的 systemd 进一步可以运行 Docker 和 Kubelet 等 Kubernetes 节点所需基础进程,然后这些进程就可以进一步运行 kube-apiserver、kube-controller-manager、kube-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值