我正在遵循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集群中?
答案 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"]
在之前的示例中从未使用过图像,我不知道上述示例是否真的可以使用。
希望能有所帮助!