MicroK8s环境下Helm无法连接Kubernetes集群的配置方案及单/双节点集群部署咨询
解决MicroK8s + Helm连接问题及集群部署疑问
先给你梳理下当前Helm连接拒绝的核心问题:你的Helm客户端没找到MicroK8s集群的正确配置,默认去连本地8080端口——这个是K8s旧版的不安全端口,MicroK8s默认是不启用的。下面逐个解答你的问题:
1. 使用MicroK8s集群进行Helm安装的必要配置
你启用的是MicroK8s自带的Helm 2 addon,要让它正常工作,关键是搞定kubeconfig的配置:
- 同步集群配置到默认路径:MicroK8s的集群配置文件存在
/var/snap/microk8s/current/credentials/client.config,把它复制到用户默认的kubeconfig目录,就能让Helm自动识别:microk8s config > ~/.kube/config - 临时指定配置路径(可选):如果不想覆盖本地的kubeconfig,可以每次使用Helm前设置环境变量:
export KUBECONFIG=/var/snap/microk8s/current/credentials/client.config - 验证连接:配置完后,执行
kubectl get nodes(或者用MicroK8s自带的microk8s kubectl get nodes),如果能看到你的服务器节点信息,说明Helm已经能正常连接集群了。
另外,Helm 2依赖的Tiller组件,MicroK8s的helm addon已经自动部署好了,不用额外配置。
2. 是否需要启用更多MicroK8s服务?
当前的连接拒绝问题不需要额外启用addon,根源是kubeconfig没配置对。但如果后续要部署实际业务应用,建议启用几个实用的addon来完善集群能力:
dns:提供集群内部的域名解析,绝大多数应用都依赖这个功能storage:创建本地持久化存储类,方便部署需要存储数据的应用(比如数据库)ingress:如果需要从外部网络访问集群内的服务,这个addon可以帮你配置反向代理规则
启用命令示例:
microk8s enable dns storage ingress
3. 单/双本地物理Ubuntu服务器运行MicroK8s集群的可行性
完全没问题,两种场景都支持:
- 单节点集群:你现在的环境就是一个可用的单节点K8s集群,只要配置好kubeconfig,就能用Helm部署应用了。
- 双节点集群:可以把第二台Ubuntu服务器加入现有集群,步骤很简单:
- 在已安装MicroK8s的主节点执行
microk8s add-node,会输出一条类似microk8s join 192.168.1.100:25000/abcdefghijklmnopqrstuvwxyz的加入命令 - 在第二台服务器上先安装MicroK8s(
sudo snap install microk8s --classic),然后执行主节点输出的join命令,等待节点加入完成 - 执行
microk8s status就能看到两个节点的状态,此时集群就具备高可用能力了(你已经启用了ha-clusteraddon,它会自动处理双节点的高可用配置)
- 在已安装MicroK8s的主节点执行
内容的提问来源于stack exchange,提问作者SQL-Neuling
相关产品推荐
相关产品推荐

