HOME

Tiller (Helm 2) 故障排查

简介

Tiller 是 Helm v2 版本中的一个重要组件,负责执行由用户发起的操作。它运行在 Kubernetes 集群的主节点上,与 helm CLI 工具进行通信,并管理 Kubernetes 资源。本文将介绍一些常见的 Tiller 故障及其排查方法。

常见故障及解决方案

1. Tiller 未启动或卡住

现象

排查方法

  1. 检查日志
    kubectl logs -l app=tiller
    
  2. 查看集群状态
    kubectl get pods --all-namespaces | grep tiller
    
  3. 重启 Tiller Pod 如果发现 Pod 处于异常状态,可以尝试删除并重启:
    kubectl delete pod -l app=tiller
    

2. TLS 相关问题

现象

排查方法

  1. 检查配置文件 检查 tiller-deploy 中的 ConfigMap 配置,确保证书和密钥正确:
    kubectl get configmap -n tiller --template='{{range .items}}{{printf "%s: %q" .key .value }}{{end}}'
    
  2. 配置 TLS 确保 Tiller 的 serverclient 配置文件正确设置:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: tiller-deploy
      namespace: tiller
    data:
      server.tls.crt: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
      server.tls.key: |
        -----BEGIN RSA PRIVATE KEY-----
        ...
        -----END RSA PRIVATE KEY-----
    

3. 权限问题

现象

排查方法

  1. 检查服务账号 确保 Tiller 使用的服务账号具有适当的权限:
    kubectl get sa -n tiller
    
  2. 配置 RBAC 规则 如果需要,可以创建或修改角色和角色绑定以允许 Tiller 访问所需的资源。

4. 网络问题

现象

排查方法

  1. 检查网络配置 确保 Kubernetes 集群的网络策略允许 Tiller 和用户之间的通信:
    kubectl get networkpolicies -n default
    
  2. 防火墙设置 检查集群内外的防火墙设置,确保正确的端口开放。

结语

以上是关于 Tiller (Helm 2) 的一些常见故障及排查方法。通过本文介绍的方法,希望能帮助你快速定位并解决问题,确保 Helm 工具在你的项目中正常运行。如果遇到其他问题或有进一步的疑问,请查阅官方文档或寻求社区支持。