add the serviceAccount of deployment (#1543)

Co-authored-by: 977231903@qq.com <>
This commit is contained in:
Mikael
2022-02-15 20:57:14 +08:00
committed by GitHub
parent b215fa3ee6
commit a078f5d764
4 changed files with 41 additions and 33 deletions

View File

@@ -408,6 +408,10 @@ var commands = []cli.Command{
"if they are, --remote has higher priority\n\tThe git repo directory must be consistent with the " + "if they are, --remote has higher priority\n\tThe git repo directory must be consistent with the " +
"https://github.com/zeromicro/go-zero-template directory structure", "https://github.com/zeromicro/go-zero-template directory structure",
}, },
cli.StringFlag{
Name: "serviceAccount",
Usage: "the serviceAccount of deployment",
},
}, },
Action: kube.DeploymentCommand, Action: kube.DeploymentCommand,
}, },

View File

@@ -17,7 +17,8 @@ spec:
metadata: metadata:
labels: labels:
app: {{.Name}} app: {{.Name}}
spec: spec:{{if .ServiceAccount}}
serviceAccountName: {{.ServiceAccount}}{{end}}
containers: containers:
- name: {{.Name}} - name: {{.Name}}
image: {{.Image}} image: {{.Image}}

View File

@@ -11,8 +11,9 @@ spec:
jobTemplate: jobTemplate:
spec: spec:
template: template:
spec: spec:{{if .ServiceAccount}}
containers: serviceAccountName: {{.ServiceAccount}}{{end}}
{{end}}containers:
- name: {{.Name}} - name: {{.Name}}
image: # todo image url image: # todo image url
resources: resources:

View File

@@ -21,21 +21,22 @@ const (
// Deployment describes the k8s deployment yaml // Deployment describes the k8s deployment yaml
type Deployment struct { type Deployment struct {
Name string Name string
Namespace string Namespace string
Image string Image string
Secret string Secret string
Replicas int Replicas int
Revisions int Revisions int
Port int Port int
NodePort int NodePort int
UseNodePort bool UseNodePort bool
RequestCpu int RequestCpu int
RequestMem int RequestMem int
LimitCpu int LimitCpu int
LimitMem int LimitMem int
MinReplicas int MinReplicas int
MaxReplicas int MaxReplicas int
ServiceAccount string
} }
// DeploymentCommand is used to generate the kubernetes deployment yaml files. // DeploymentCommand is used to generate the kubernetes deployment yaml files.
@@ -72,21 +73,22 @@ func DeploymentCommand(c *cli.Context) error {
t := template.Must(template.New("deploymentTemplate").Parse(text)) t := template.Must(template.New("deploymentTemplate").Parse(text))
err = t.Execute(out, Deployment{ err = t.Execute(out, Deployment{
Name: c.String("name"), Name: c.String("name"),
Namespace: c.String("namespace"), Namespace: c.String("namespace"),
Image: c.String("image"), Image: c.String("image"),
Secret: c.String("secret"), Secret: c.String("secret"),
Replicas: c.Int("replicas"), Replicas: c.Int("replicas"),
Revisions: c.Int("revisions"), Revisions: c.Int("revisions"),
Port: c.Int("port"), Port: c.Int("port"),
NodePort: nodePort, NodePort: nodePort,
UseNodePort: nodePort > 0, UseNodePort: nodePort > 0,
RequestCpu: c.Int("requestCpu"), RequestCpu: c.Int("requestCpu"),
RequestMem: c.Int("requestMem"), RequestMem: c.Int("requestMem"),
LimitCpu: c.Int("limitCpu"), LimitCpu: c.Int("limitCpu"),
LimitMem: c.Int("limitMem"), LimitMem: c.Int("limitMem"),
MinReplicas: c.Int("minReplicas"), MinReplicas: c.Int("minReplicas"),
MaxReplicas: c.Int("maxReplicas"), MaxReplicas: c.Int("maxReplicas"),
ServiceAccount: c.String("serviceAccount"),
}) })
if err != nil { if err != nil {
return err return err