k8s client-go快速入门教程及源代码阅读之配置加载
💡
原文中文,约9800字,阅读约需24分钟。
📝
内容提要
本文介绍了使用client-go操作k8s资源时的配置加载过程,包括认证方式和加载方式。通过kubeconfig文件或serviceaccount token进行配置加载。最后还介绍了手动连接k8s集群的方法。
🎯
关键要点
- 使用client-go操作k8s资源的基本步骤包括配置加载、创建客户端和使用接口。
- k8s支持多种认证方式,常见的有X509客户端证书和服务账户令牌。
- kubectl默认在~/.kube/config位置查找kubeconfig文件,用户也可以手动指定。
- kubeconfig文件包含集群信息、用户信息和上下文信息。
- 通过clientcmd.BuildConfigFromFlags函数读取kubeconfig文件并创建配置。
- k8s支持多个配置文件的合并,后面的配置会覆盖前面的配置。
- 服务账户令牌不包含连接信息,连接信息存储在环境变量中。
- 可以通过curl命令手动连接k8s集群,需提供API服务器地址和token。
- 集群内部可以通过rest.InClusterConfig函数简化配置加载过程。
- 连接集群需要获取连接信息和认证信息,常用方式有读取kubeconfig和使用serviceaccount token。
➡️