我可以将Pod分配给NIC吗?

时间:2019-07-30 11:38:19

标签: docker kubernetes

我有1个主节点1个节点kubernetes集群。在该节点上,有2个网络接口卡(在相同的IP块和相同的子网中,但不同的IP)。

我可以将Pod分配给特殊的NIC吗?

例如在docker中,我们执行以下命令:

docker run -p 192.168.1.15:80:80 nginx

使用上述命令,nginx将仅在 IP 192.168.1.15

上运行

那么,我可以在kubernetes上实现吗?

2 个答案:

答案 0 :(得分:0)

根据我的快速研究,K8S似乎不支持这一点。您可以为IP地址和端口分配Service,但Pod是一次性的且非关键的。网络路由由入口控制器处理。如果Pod与特定IP相关联,那么Pod不再是商品概念,而是已知数量。

我的假设是您希望能够直接访问Pod,如果是这种情况,请尝试利用上述Ingress Controller的端口转发机制。

答案 1 :(得分:0)

关于您的docker示例import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { Routes, RouterModule } from '@angular/router'; import { IonicModule } from '@ionic/angular'; import { HeaderPage } from './header.page'; const routes: Routes = [ { path: '', component: HeaderPage } ]; @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, RouterModule.forChild(routes) ], declarations: [HeaderPage], exports: [ HeaderPage ] }) export class HeaderPageModule {}

您可以使用服务without selectors

docker run -p 192.168.1.15:80:80 nginx
  

因为此服务没有选择器,所以相应的端点   对象不会自动创建。您可以手动映射服务   通过添加一个   手动端点对象:

apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80