如何为~/.kube/config文件添加Kind配置,实现与Skaffold搭配本地使用Kubernetes
如何为~/.kube/config文件添加Kind配置,实现与Skaffold搭配本地使用Kubernetes
嘿,刚好碰到过类似的场景,我来一步步帮你搞定这个配置,完美适配kubeadm+kind+skaffold的本地开发环境!
第一步:让Kind集群配置自动合并到~/.kube/config
其实Kind非常贴心,当你创建集群的时候,它会自动把集群的连接配置追加到你的~/.kube/config文件里,完全不用手动复制粘贴。
先创建你的Kind集群(如果还没建的话):
kind create cluster默认集群名是
kind,对应的上下文会是kind-kind。如果想自定义集群名,加--name参数就行:kind create cluster --name my-local-cluster验证配置是否成功添加:
运行这条命令查看所有可用的Kubernetes上下文:kubectl config get-contexts你应该能看到一个以
kind-开头的上下文,这就是刚创建的Kind集群的入口啦。切换到Kind集群上下文:
要让后续操作都针对Kind集群,切换上下文就行:# 默认集群用这条 kubectl config use-context kind-kind # 自定义集群名的话替换成你的集群名 kubectl config use-context kind-my-local-cluster
第二步:配置Skaffold直接把本地镜像加载到Kind集群
你提到的本地镜像拉取问题,正是Kind+Skaffold的强项——完全不用推送到远程仓库,直接把本地构建的镜像加载到Kind集群里就行。
只需要在你的skaffold.yaml里做简单配置:
apiVersion: skaffold/v4beta6 kind: Config metadata: name: your-app-name build: # 用本地构建器,不需要推送镜像到远程 local: push: false # 定义你的镜像构建信息 artifacts: - image: my-local-app-image context: ./your-app-source-dir # 你的应用代码目录 docker: dockerfile: Dockerfile # 配置自动加载镜像到Kind集群 load: kind: cluster: kind-kind # 这里填你的Kind集群名,默认是kind-kind
如果你的当前kubectl上下文已经是Kind集群,其实Skaffold会自动检测到,甚至可以省略load部分的配置,它会自动把镜像加载进去,非常智能!
第三步:在kubeadm和Kind集群之间切换
因为你的~/.kube/config里同时有kubeadm和Kind的配置,随时可以用这条命令切换集群:
# 切换回kubeadm集群(默认上下文名是kubernetes-admin@kubernetes) kubectl config use-context kubernetes-admin@kubernetes # 切换回Kind集群 kubectl config use-context kind-kind
测试一下
运行skaffold dev启动开发模式,Skaffold会自动构建镜像、加载到Kind集群、部署应用,还会实时监听代码变化自动重建,完全满足本地开发的需求!
备注:内容来源于stack exchange,提问作者best_of_man
相关产品推荐
相关产品推荐

