【问题标题】:Converting docker run to YAML for Kubernetes将 docker run 转换为 Kubernetes 的 YAML
【发布时间】:2020-10-12 16:46:27
【问题描述】:

我是 Kubernetes 新手。我正在尝试将以下 DOCKER 容器代码转换为用于 kubernetes 的 YAML。

docker container run -d -p 80:80 --name MyFirstContainerWeb docker/getting-started:pwd

这是我到目前为止所想出的。有人可以帮我处理入口部分吗?我正在使用 Docker Desktop(具有 kubernetes 集群)。我的最终目标是在浏览器中查看网站。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: getting-started-deployment 
spec:
  selector:
    matchLabels:
      app: getting-started 
  replicas: 2
  template:
    metadata:
      labels:
        app: getting-started
    spec:
      containers:
      - name: getting-started-container 
        image: docker/getting-started:pwd
        ports:
        - containerPort: 80
---
 apiVersion: v1
 kind: Service
 metadata:
   name: getting-started-service 
   namespace: default
   labels:
     app: myfirstcontainer
 spec:
   ports:
   - protocol: TCP
     port: 80
     targetPort: 80
   selector:
     app: getting-started-service

【问题讨论】:

标签: kubernetes yaml


【解决方案1】:

您可以通过运行使用port-forward转发到服务端口

$ kubectl port-forward svc/getting-started-service 80

要了解有关端口转发的更多信息,请单击here

【讨论】:

  • 谢谢。当我尝试端口转发时,我得到了这个异常:错误:超时等待条件
  • 在您的服务中,请将选择器修改为app: getting-started。它应该与 deployment.spec.template.metadata.labels 匹配
  • 天啊!非常感谢您,先生。
  • 两个小问题: 1. 我们可以将 IP 转发放在 YAML 文件中吗? 2. 当我进行 IP 转发时,我在命令提示符处看到以下连续循环。 Handling connection for 80 Handling connection for 80 这是正常的吗?如果我 ctrl+c 退出它,网站就会停止。这正常吗?
  • 是的,这很正常。您可以使用 NodePort 作为您的服务类型来使用节点的 ip 服务。检查kubernetes.io/docs/concepts/services-networking/service/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多