我正在尝试使用 Go 中的 Istio,并且正在使用 Kubernetes 和 Istio go-client 代码。
我遇到的问题是我无法指定ObjectMeta
或TypeMeta
在我的 Istio-ServiceRole
对象中。我只能指定rules
,里面有哪些spec
。
下面你可以看到我的工作:
import (
v1alpha1 "istio.io/api/rbac/v1alpha1"
)
func getDefaultServiceRole(app nais.Application) *v1alpha1.ServiceRole {
return &v1alpha1.ServiceRole{
Rules: []*v1alpha1.AccessRule{
{
Ports: []int32{2},
},
},
}
}
我想做的是让这段代码工作:
func getDefaultServiceRole(app *nais.Application) *v1alpha1.ServiceRole {
return &v1alpha1.ServiceRole{
TypeMeta: metav1.TypeMeta{
Kind: "ServiceRole",
APIVersion: "v1alpha1",
},
ObjectMeta: metav1.ObjectMeta{
Name: app.Name,
Namespace: app.Namespace,
},
Spec: v1alpha1.ServiceRole{
Rules: []*v1alpha1.AccessRule{
{
Ports: []int32{2},
},
},
},
},
}
谁能指出我正确的方向?