【发布时间】:2020-05-04 00:55:15
【问题描述】:
Helm 3 不提供任何方式来创建 action.Configuration 结构,如果代码是在集群内运行的话。
我尝试过构建自己的通用标志:
config, err := rest.InClusterConfig()
if err != nil {
panic(err)
}
insecure := false
genericConfigFlag := &genericclioptions.ConfigFlags{
Timeout: stringptr("0"),
Insecure: &insecure,
APIServer: stringptr(config.Host),
CAFile: stringptr(config.CAFile),
BearerToken: stringptr(config.BearerToken),
ImpersonateGroup: &[]string{},
Namespace: stringptr(namespace),
}
actionConfig := &action.Configuration{
RESTClientGetter: genericConfigFlag,
KubeClient: kube.New(genericConfigFlag),
Log: log.Infof,
}
不幸的是,这会导致稍后在运行action.NewList(actionConfig).Run() 时出现 SIGSEGV 错误。
在 Kubernetes 集群中为 Helm 3 定义操作配置是否正确?
【问题讨论】:
-
什么是“动作”?你能描述一下你想要达到的目标吗?
-
action 是 Helm 包,它允许对客户端执行“操作”:pkg.go.dev/helm.sh/helm/v3@v3.0.2/pkg/action?tab=doc。所有这些操作都需要配置 (pkg.go.dev/helm.sh/helm/v3@v3.0.2/pkg/…)。但是似乎没有用于集群内代码的 API。
-
哦,好的,谢谢。那么“集群内”的区别就是您如何设置与 kube api 的连接?
-
我认为是这样 - 使用 cli 包可以消除我的 SIGSEGV 错误,但我仍然无法连接,收到
context deadline exceeded。
标签: kubernetes kubernetes-helm