我正在用GCP编写一个terraform文件,以便在GKE上运行一个无状态应用程序,这些是我尝试进入terraform的步骤。
1.创建服务帐户
1.向服务帐户授予角色
1.创建群集
1.配置部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: mllp-adapter-deployment
spec:
replicas: 1
selector:
matchLabels:
app: mllp-adapter
template:
metadata:
labels:
app: mllp-adapter
spec:
containers:
- name: mllp-adapter
imagePullPolicy: Always
image: gcr.io/cloud-healthcare-containers/mllp-adapter
ports:
- containerPort: 2575
protocol: TCP
name: "port"
command:
- "/usr/mllp_adapter/mllp_adapter"
- "--port=2575"
- "--hl7_v2_project_id=PROJECT_ID"
- "--hl7_v2_location_id=LOCATION"
- "--hl7_v2_dataset_id=DATASET_ID"
- "--hl7_v2_store_id=HL7V2_STORE_ID"
- "--api_addr_prefix=https://healthcare.googleapis.com:443/v1"
- "--logtostderr"
- "--receiver_ip=0.0.0.0"
1.添加内部负载平衡器,使其可在群集外部访问
apiVersion: v1
kind: Service
metadata:
name: mllp-adapter-service
annotations:
cloud.google.com/load-balancer-type: "Internal"
spec:
type: LoadBalancer
ports:
- name: port
port: 2575
targetPort: 2575
protocol: TCP
selector:
app: mllp-adapter
我找到这个example是为了创建一个auto-pilot-public集群,但是我不知道在哪里指定步骤4中的YAML文件
我还发现了另一个blueprint,它使用kubernetes提供程序将服务部署到创建的集群中,我希望它能解决我的第5步。
总体来说,我是terraform和GCP架构的新手,我在documentation之后得到了所有这些工作,然而,我现在正试图找到一种方法来将其部署在开发环境中以进行测试,但这超出了我的沙箱,它应该使用terraform来部署,我想我正在接近它。
有人能告诉我下一步是什么,或者如何将这些YAML配置添加到我找到的.tf
示例中吗?
我这样做对吗
1条答案
按热度按时间5jvtdoz21#
您可以使用此脚本并对其进行进一步扩展,以使用以下命令部署YAML文件:https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/tree/master/examples/simple_autopilot_public
上面的TF脚本正在为YAML部署创建GKE自动引导集群,您可以使用K8s提供程序并使用它应用文件。
https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/deployment
完整示例:https://github.com/terraform-google-modules/terraform-google-kubernetes-engine/tree/master/examples/simple_autopilot_public
main.tf
另一个很好的例子,使用YAML文件作为模板,并使用terraform应用它。:https://github.com/epiphone/gke-terraform-example/tree/master/terraform/dev