相关疑难解决方法(0)

将外部IP分配给Kubernetes服务

编辑:我的设置的重点是实现(如果可能)以下内容:

  • 我有多个k8s节点
  • 当我联系IP地址(来自我公司的网络)时,它应该被路由到我的容器/ pod/service /中的任何一个.
  • 我应该能够轻松设置IP(就像我的服务.yml定义)

我正在运行一个小的Kubernetes集群(用kubeadm构建),以评估我是否可以将Docker(旧)Swarm设置移动到k8s.我绝对需要的功能是能够为容器分配IP,就像我使用MacVlan一样.

在我目前的docker设置中,我正在使用MacVlan将我公司网络中的IP地址分配给某些容器,这样我就可以直接到达(没有反向代理),就好像它是任何物理服务器一样.我正在努力实现与k8s类似的东西.

我发现:

  • 我必须使用服务
  • 我不能使用LoadBalancer类型,因为它仅适用于兼容的云提供商(如GCE或AWS).
  • 我应该使用ExternalIPs
  • Ingress Resources是某种反向代理?

我的yaml文件是:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
      name: nginx-deployment
spec:
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
      nodeSelector:
        kubernetes.io/hostname: k8s-slave-3
---
kind: Service
apiVersion: v1
metadata:
  name: nginx-service
spec:
  type: ClusterIP
  selector:
    app: nginx
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 80
  externalIPs: 
    - A.B.C.D
Run Code Online (Sandbox Code Playgroud)

我跳的是我的服务将获得IP ABCD(这是我公司的网络之一).我的部署工作正常,因为我可以使用它的ClusterIP从k8s集群内部到达我的nginx容器.

我错过了什么?或者至少,我在哪里可以找到有关网络流量的信息,以查看数据包是否即将到来? …

networking kubernetes kubeadm

14
推荐指数
5
解决办法
3万
查看次数

标签 统计

kubeadm ×1

kubernetes ×1

networking ×1