【问题标题】:Kubernetes Ingress Controller on VagrantVagrant 上的 Kubernetes 入口控制器
【发布时间】:2016-05-15 21:30:57
【问题描述】:

在 Kubernetes CoreOS Vagrant Multi-Machine 上运行入口控制器有什么特别之处吗?我遵循了这个例子,但是当我运行 kubectl -f 时,我没有得到地址。

例子:

http://kubernetes.io/v1.1/docs/user-guide/ingress.html#single-service-ingress

设置:

https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html

我研究了 Kubernetes 中的网络。一切看起来都应该在没有进一步配置的情况下运行。

我的目标是在构建生产平台之前创建一个本地测试环境。我在想他们如何设置他们的 virtualbox 网络。我即将深入了解 CoreOS 云配置,但我想我会先问一下。

更新

是的,我正在运行入口控制器。

https://github.com/kubernetes/contrib/blob/master/Ingress/controllers/nginx-alpha/rc.yaml

它运行没有给出错误。只是当我运行kubectl -f 时,我没有得到地址。我认为有两件事:

  1. 我必须为 CoreOS-Kubernetes vagrant 多节点的网络做一些额外的事情。
  2. 它运行正常,但我将本地主机指向错误的 IP。我使用的是 172.17.4.x ip,我也有 10.0.0.x 。我可以使用 NodePort 通过 172.17.4.x 访问服务,但我可以访问我的 Ingress。

代码如下:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-ingress
  labels:
    app: nginx-ingress
spec:
  replicas: 1
  selector:
    app: nginx-ingress
  template:
    metadata:
      labels:
        app: nginx-ingress
    spec:
      containers:
      - image: gcr.io/google_containers/nginx-ingress:0.1
        imagePullPolicy: Always
        name: nginx
        ports:
        - containerPort: 80
          hostPort: 80

更新 2 命令输出:

kubectl get pods

NAME                  READY     STATUS    RESTARTS   AGE
echoheaders-kkja7     1/1       Running   0          24m
nginx-ingress-2wwnk   1/1       Running   0          25m

kubectl logs nginx-ingress-2wwnk --previous

Pod "nginx-ingress-2wwnk" in namespace "default": previous terminated container "nginx" not found

kubectl exec nginx-ingress-2wwnk -- cat /etc/nginx/nginx.conf

events {
  worker_connections 1024;
}
http {


}%

我正在 NodePort 上运行 echoheaders 服务。当我在浏览器上输入节点 IP 和端口时,我就明白了。

我也重启了virtualbox中的所有节点。

【问题讨论】:

标签: vagrant virtualbox kubernetes coreos


【解决方案1】:

在 kubernetes irc 和 slack 的大力帮助下,我不久前修复了这个问题。如果我没记错的话,我让入口服务在一个已经被使用的端口上监听,我认为是 vagrant。这些命令真的很有帮助:

kubectl get pod <nginx-ingress pod> -o json
kubectl exec <nginx-ingress pod> -- cat /etc/nginx/nginx.conf
kubectl get pods -o wide
kubectl logs <nginx-ingress pod> --previous

【讨论】:

  • 你还记得你做了什么来解决这个问题吗?当所有容器都启动并且我可以直接在端口上连接到 Pod 上的端口时,当我尝试 IP 时,ingress-lb 不断返回连接被拒绝。甚至按照这个例子一直到发球台 - medium.com/@rothgar/…
  • 在 kubernetes slack 频道上尝试帮助,他们真的很好,让我振作起来:slack.kubernetes.io。 . . . .就我而言,我在 Vagrant 中使用 Kubernetes 运行 CoreOS。 Vagrant 设置占用了 kubernetes ic 所需的端口。我更改了 Vagrant 上的端口,它已修复。检查日志有很大帮助,不仅仅是 kubernetes,还有在这种情况下充当负载均衡器的任何东西 traefik。
猜你喜欢
  • 2021-01-28
  • 2021-04-17
  • 2019-07-22
  • 1970-01-01
  • 2020-02-10
  • 2018-07-22
  • 2018-10-29
  • 2016-10-28
  • 1970-01-01
相关资源
最近更新 更多