如何将这个Traefik示例部署到Kubernetes?

时间:2018-08-27 13:07:25

标签: kubernetes traefik

我正在遵循here的Traefik入门指南,并试图将服务启动到Kubernetes(Minikube)而非Docker中:

Edit your docker-compose.yml file and add the following at the end of your file.
# ...
  whoami:
    image: emilevauge/whoami # A container that exposes an API to show its IP address
    labels:
      - "traefik.frontend.rule=Host:whoami.docker.localhost"**

我猜我是这样运行的:

kubectl run whoami-service --image=emilevauge/whoami --labels='traefik.frontend.rule=Host:whoami.docker.localhost'

但是会产生以下错误:

The Deployment "whoami-service" is invalid:
* metadata.labels: Invalid value: "'traefik.frontend.rule": name part must consist of alphanumeric characters, '-', '_' or '.', and....

那么我在这里想念什么?如何将以上内容部署到我的Minikube Kubernetes集群中?

1 个答案:

答案 0 :(得分:1)

我不确定这是否符合您的要求,但是Traefik有一个small tutorial用于在Kubernetes上设置Ingress控制器,并在配置上使用great document ,以及。

如果您只想使该特定图像正常工作,则可以使用kubectl run将标签作为参数传递给Pod。来自kubectl run help的输出:

# Start the nginx container using the default command, but use custom arguments (arg1 .. argN) for that command.
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>

或在清单中手动进行:

...
containers:
  - name: whoami
    image: emilevauge/whoami
    args: ["traefik.frontend.rule: "Host:whoami.docker.localhost"]

在之前的示例中从未使用过图像,我不知道上述示例是否真的可以使用。

希望能有所帮助!