写点什么

[ K8s Operator 开发完整教程 -2 ] kind 创建本地 Kubernetes 集群

作者:baiyutang
  • 2023-08-28
    广东
  • 本文字数:1194 字

    阅读完需:约 4 分钟

[ K8s Operator 开发完整教程-2 ] kind 创建本地 Kubernetes 集群

关于教程

在《[ K8s Operator 开发完整教程-1 ] 总览》文章中,有讲述整理系列文章的初衷和创作思路。

本节目标

  • 在本机环境安装好 kind;

  • 利用 kind 创建一个 Kubernetes 集群;

  • 验证 Kubernetes 集群可用;

理论准备

Kubernetes

在进阶到本教程时,我们默认各位都已对 Kubernetes 已经有了基本的了解,组件架构、常见资源、工作负载和常用操作等。

kind 是什么

kind 是以 Docker 容器为工作节点来运行本地 Kubernetes 的一款工具。

kind 相比要准备多台虚拟机或 ECS 来引导集群好便捷的多,即便与常见的 minikube 对比,也具有很大的优势。很适合我们快速创建一个实验环境。

这里也有完整 kind 官方文档便于后续学习。

环境准备

以作者本机为例,整理如下

  • 操作系统:macOS 15.5.1

  • brew:Homebrew 4.1.6-22-gae0f563

  • Go:go version go1.20.2 darwin/amd64

  • IDE 或编辑器:VSCode 1.81.1

步骤

kind 安装

brew install kind
复制代码


版本验证

kind -h
复制代码


定义 Kubernetes 集群配置

创建如下文件,我们引导一个主节点、两个工作节点的集群。

该用法我们亦可在 kind 官方文档-配置-节点 章节找到。

kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane- role: worker- role: worker
复制代码

kind 创建集群

kind create cluster --image=kindest/node:v1.27.0 \--name=baiyutang-dev \--config=cluster.yaml
复制代码

安装过程如下

看到该图类似输出,就代表我们安装成功了。并提示我们现在可以使用 kubectl 切换集群上下文。

kubectl

Kubernetes 命令行工具 kubectl, 让你可以对 Kubernetes 集群运行命令。 你可以使用 kubectl 来部署应用、监测和管理集群资源以及查看日志。

kubectl 的安装,在这里不在赘述,可以直接参考 kubernetes 官方文档-安装工具 章节。


假如你也是 macOS,可以直接尝试 brew install kubectl。安装成功可以试试

kubectl version --output=json
复制代码


kubectl 使用技巧

设置命令别名,不需要每次都完整输入 kuberctl

alias k=kubectlcomplete -o default -F __start_kubectl k
复制代码

自动补全

source <(kubectl completion bash) # 在 bash 中设置当前 shell 的自动补全,要先安装 bash-completion 包。echo "source <(kubectl completion bash)" >> ~/.bashrc # 在你的 bash shell 中永久地添加自动补全
复制代码


更多使用技巧可以参看官方文档-kubectl备忘单

切换已创建好的集群上下文

kubectl cluster-info --context kind-baiyutang-dev
复制代码



查看集群

看看集群工作节点是否符合预期和配置

kubectl get node
复制代码


运行 pod 测试

kubectl run nginx --image=nginx --port=80
复制代码



假如你想知道 pod 是运行在哪个节点可以

kubectl get pods -o wide
复制代码



验证业务

我们可以把本机端口的流量转发的集群内,比如

kubectl port-forward pod/nginx 8888:80
复制代码


以此来验证 pod 是否的确运行了 nginx,然后在浏览器请求 http://127.0.0.1:8888

显而易见,内容也是对的。

总结

如上实验步骤,我们主要是安装 kind 工具,简单验证集群,为下节内容做准备。

发布于: 刚刚阅读数: 7
用户头像

baiyutang

关注

InfoQ 签约作者 | CloudWeGo 2017-12-13 加入

广州 | Microservices | Golang | Cloud Nitive | “Smart work,Not hard”

评论

发布
暂无评论
[ K8s Operator 开发完整教程-2 ] kind 创建本地 Kubernetes 集群_云原生_baiyutang_InfoQ写作社区