incloud开发文档 5.1.0 Help

发布到 Kubernetes

部署到 Kubernetes

如果想把开发业务模块服务部署到Kubernetes集群中,每个服务中都需要有一个deployment.yaml文件,这个文件是Kubernetes的部署文件,用于定义服务的部署信息。

当然默认情况下,如果服务目录下没有deployment.yaml,一般情况下会在根目录扔resource目录下提供相应的模板文档,这个模板方便使用了go语言的模板字符串, 你可以自己重新替换相应的变量,然后放到服务目录下,这样就可以实现自定义部署文件了。

当然更方便的方式是结合平台的自动CI/CD流程,通过jm工具,自动生成部署文件,这样就不用手动创建了。

可以参考文档【自动化构建】。

deployment.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: {{.name}} spec: selector: matchLabels: app: {{.name}} replicas: 1 template: metadata: labels: app: {{.name}} spec: containers: - name: {{.name}} image: "{{.repository}}" imagePullPolicy: Always ports: - containerPort: {{.port}} envFrom: - configMapRef: name: {{.imageEnvConfigMap}}

结合jm工具,可以通过yaml配置文件,自动生成deployment.yaml文件,生产的原理就是读取根目录/template/deployment.yaml文件,然后替换相应的变量,生成到服务目录下。 然后结合服务器中对应的kubectl命令,执行相应的yaml文件,从docker镜像中心拉取镜像,然后部署到Kubernetes集群中。

Last modified: 20 一月 2025