[英]Create kubernetes yml file from docker-compose.yml file
I have this docker-compose.yml file which I am using to run up three microservices and one api gateway我有这个 docker-compose.yml 文件,我用它来运行三个微服务和一个 api 网关
version: '3'
services:
serviceone:
container_name: serviceone
restart: always
build: serviceone/
ports:
- '3000:3000'
servicetwo:
container_name: servicetwo
restart: always
build: servicetwo/
ports:
- '3001:3001'
servicethree:
container_name: servicethree
restart: always
build: servicethree/
ports:
- '3002:3003'
apigateway:
container_name: timezoneapigateway
restart: always
build: timezone/
ports:
- '8080:8080'
links:
- serviceone
- servicetwo
- servicethree
Now I want to deploy these dockerimages in one pod in kubernetes so that the api gateway can connect with all the three microservices ,current version of api gateway is working but I am really not getting even a slightest hint of doing this in kubernetes.现在我想将这些 dockerimages 部署在 kubernetes 的一个 pod 中,以便 api 网关可以连接所有三个微服务,当前版本的 api 网关正在工作,但我真的没有得到任何暗示在 kubernetes 中这样做。 I am really new to kubernetes can anyone tell me how to design a kubernetes yml file to achieve this我真的是 kubernetes 的新手,谁能告诉我如何设计 kubernetes yml 文件来实现这一目标
You don't have to run all your service in the same pod.您不必在同一个 Pod 中运行所有服务。 The standard in Kubernetes is to have separate deployments and services for all apps. Kubernetes 的标准是为所有应用程序提供单独的部署和服务。 Here is a deployment manifest for serviceone but you can easily modify it for servicetwo , servicethree and apigateway这里是一个serviceone部署清单,但你可以很容易地修改它servicetwo,servicethree和apigateway
apiVersion: apps/v1
kind: Deployment
metadata:
name: serviceone
labels:
app: serviceone
spec:
replicas: 1
selector:
matchLabels:
app: serviceone
template:
metadata:
labels:
app: serviceone
spec:
containers:
- name: serviceone
image: serviceone:latest
ports:
- containerPort: 3001
And the same goes for the service manifest服务清单也是如此
apiVersion: v1
kind: Service
metadata:
name: serviceone
spec:
selector:
app: serviceone
ports:
- protocol: TCP
port: 3001
targetPort: 3001
Your services will be accessible within the cluster like this:您的服务将可以在集群中访问,如下所示:
serviceone:3001
servicetwo:3002
servicethree:3003
timezoneapigateway:8080
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.