我正在尝试使用2个容器创建一个容器,每个容器都有不同的图像!我不确定如何将两个不同的容器暴露给客户端.以下是我的部署yaml文件.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: checkdifimage
spec:
replicas: 1
template:
metadata:
labels:
app: checkdifimagelab
spec:
containers:
- name: checkallcont1
image: <dockerimage>
ports:
- containerPort: 32030
- name: checkall1cont2
image: <dockerimage2>
ports:
- containerPort: 32031
Run Code Online (Sandbox Code Playgroud)
我正在进行部署后,目前正在做什么.我运行以下命令来公开服务:
kubectl expose pod checkdifimage --port=8080 --type=NodePort --name=diffimage
Run Code Online (Sandbox Code Playgroud)
这适用于单个容器,并且能够从其他客户端访问该服务.但是当我使用2个容器时,我只能打一个容器.我该怎样继续打两个容器?此外,如果有人可以请指导使用一个具有一个图像的pod与一个具有多个图像的pod有什么优缺点!
Far*_*ahi 10
您有多个选项:
在同一部署上创建多个服务,每个服务公开一个端口.
创建暴露多个端口的单个服务:
---
kind: Service
apiVersion: v1
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- name: http
protocol: TCP
port: 80
targetPort: 9376
- name: https
protocol: TCP
port: 443
targetPort: 9377
Run Code Online (Sandbox Code Playgroud)使用kubectl暴露:
kubectl expose service nginx --port=443 --target-port=8443 --name=nginx-https
Run Code Online (Sandbox Code Playgroud)请注意,如果未通过-port指定端口且公开的资源具有多个端口,则新服务将重新使用所有端口.此外,如果未指定标签,则新服务将重新使用其公开的资源中的标签.
何时使用多容器窗格:窗格是一组一个或多个容器,这些容器的共享存储以及有关如何运行容器的选项.Pod始终位于同一位置并共同调度,并在共享上下文中运行.一个pod模拟特定于应用程序的"逻辑主机" - 它包含一个或多个相对紧密耦合的应用程序容器- 在预容器世界中,它们将在同一物理或虚拟机上执行.
| 归档时间: |
|
| 查看次数: |
8847 次 |
| 最近记录: |