5 分钟带你在本地搭建一套云原生实验环境
要学习云原生的技术,例如:kubernetes、Istio 等,搭建一个自己可以随时进行实验的 k8s 环境是必不可少的,但是让一个新手同学进行 k8s 集群的搭建,即使有 kubeadm 进行加持也是很难完成的,刚要开始云原生之旅就夭折在了环境搭建上,显得十分的可惜。这里介绍一个我本人常用的搭建实验环境的方法,以便帮助广大新手同学可以快速走上云原生之路,本文对于很多已经有一定 k8s 基础的同学也可以帮助到你在本地快速的搭建自己的实验环境进行新版本特性的验证与学习。
前置准备
docker 的安装
你本机电脑中需要已经安装好了 docker,如果 docker 还没有安装请按照 docker 的官方的安装文档进行搭建,docker 的安装并不复杂如果可以访问这个地址,跟着操作就可以完成
kind 的安装
下载 kind 的 v0.17.0 版本,下载地址 如下图,下载时根据你自己电脑的操作系统类型及处理器架构进行相应下载
下载完毕后将其放入到你操作系统的环境变量配置的目录中即可,这里需要注意的是 kind v0.17.0 最低支持安装 k8s 的版本为 1.19,如果要搭建更之前版本的 k8s 实验环境,请下载 kind v0.16.0 或者更之前的 kind 版本
kind 的 docker image 下载
这里我选择了目前的稳定 k8s v1.24.7 版本
如果要安装其他版本的 k8s 集群将 docker pull 后面的内容替换为 下面列表中的镜像名称即可:
1.25:
kindest/node:v1.25.3@sha256:f52781bc0d7a19fb6c405c2af83abfeb311f130707a0e219175677e366cc45d1
1.24:
kindest/node:v1.24.7@sha256:577c630ce8e509131eab1aea12c022190978dd2f745aac5eb1fe65c0807eb315
1.23:
kindest/node:v1.23.13@sha256:ef453bb7c79f0e3caba88d2067d4196f427794086a7d0df8df4f019d5e336b61
1.22:
kindest/node:v1.22.15@sha256:7d9708c4b0873f0fe2e171e2b1b7f45ae89482617778c1c875f1053d4cef2e41
1.21:
kindest/node:v1.21.14@sha256:9d9eb5fb26b4fbc0c6d95fa8c790414f9750dd583f5d7cee45d92e8c26670aa1
1.20:
kindest/node:v1.20.15@sha256:a32bf55309294120616886b5338f95dd98a2f7231519c7dedcec32ba29699394
1.19:
kindest/node:v1.19.16@sha256:476cb3269232888437b61deca013832fee41f9f074f9bed79f57e4280f7c48b7
前置验证
docker 服务验证
kind 服务验证
如果输入以上两行命令后都得到了 docker 与 kind 的版本输出,则表明此时已经准备好了本地 k8s 集群安装的条件
k8s 本地环境安装
声明 kind 的安装清单
将以下的内容复制到 cluster.yaml 文件中,文件名其实可以自定义
这里声明的是一个控制节点三个工作节点的 k8s 清单,其中两个节点分别标记的 ingress,与 egress 标签用于进行集群的出入口收敛,在 ingress 节点上我们将 k8s 集群容器的 30080、30443 端口映射到了宿主机电脑上的 30080、30443 端口上,用于通过本机访问 k8s 集群中的服务,这里为了方便大家快速搭建 k8s 集群使用的 kind 自己默认的容器网络插件 kind-net,如果有需要自定义的同学也可以通过配置关闭 kind-net 后自己在另行安装所需的容器网络插件
安装本地 k8s 集群
安装 kubectl
根据安装文档 安装对应操作系统及处理器架构的 kubectl
本地 k8s 集群验证
如果执行如下命令,且输出中的 status 均为 ready,则表明本地 k8s 集群已经顺利安装完毕
版权声明: 本文为 InfoQ 作者【谢烟客】的原创文章。
原文链接:【http://xie.infoq.cn/article/d7e7f3d6d87a92449239197ef】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论