首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes网络分配范围

Kubernetes网络分配范围
EN

Stack Overflow用户
提问于 2020-02-10 05:29:01
回答 2查看 435关注 0票数 3

在Kubernetes中有没有办法,或者有一个网络插件,我们可以在上面限制IP分配的范围。例如,我正在尝试使用weave和子网192.168.16.0/24。我希望通过Kubernetes分配到pod的IP限制在192.168.16.10-30范围内。

然而,我的应用程序可能会根据需要使用其余的IP,例如,我的应用程序可以从192.168.16.31-50启动一个虚拟IP,但我想要一些机制来确保我指定的IP范围不会被K8s分配,并且我的应用程序可以使用该IP。

我需要这样的东西:https://www.weave.works/docs/net/latest/tasks/ipam/configuring-weave/

EN

回答 2

Stack Overflow用户

发布于 2020-02-10 22:10:29

Network Policy资源将有所帮助

请参阅Documentation

示例NetworkPolicy可能如下所示:

apiVersion: networking.k8s.io/v1 kind: NetworkPolicy元数据:名称:测试网络策略命名空间:默认规范: podSelector: matchLabels:角色: db policyTypes:-入口-出口入口:- from:- ipBlock: cidr: 172.17.0.0/16 except:- 172.17.1.0/24 - namespaceSelector: matchLabels: project: myproject- podSelector: matchLabels:角色:前端端口:-协议: TCP端口: 6379出口:- to:- ipBlock: cidr: 10.0.0.0/24端口:-协议: TCP端口: 5978

规则ipBlock描述了ingressegress规则的网络范围。例如:

代码语言:javascript
复制
    - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 172.17.1.0/24

CIDR

CIDR代表Classless Inter-Domain Routing,请参见samples of IPv4 CIDR blocks

更多信息

有关更多信息,请参见the NetworkPolicy reference.

票数 1
EN

Stack Overflow用户

发布于 2020-02-11 02:05:40

实际上这是一个很好的问题。这取决于你的CNI,在你使用weavenet的情况下。

我假设您在Weavenet上使用的是daemonset。如果是这样的话,在您的daemonset yaml文件中添加类似这样的内容。

代码语言:javascript
复制
        spec:
          containers:
            - name: weave
              command:
                - /home/weave/launch.sh
              env:
                - name: IPALLOC_RANGE
                  value: 192.168.16.32/27

这将为您的pods提供一个从192.168.16.32到63的IP范围。

你也可以用Weave CLI来设置,如果你需要的话,请告诉我。

希望这能对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60141509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档