簡體   English   中英

Kubernetes 網絡分配范圍

[英]Kubernetes network allocation range

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 和我的應用程序可以使用它。

我需要這樣的東西: https : //www.weave.works/docs/net/latest/tasks/ipam/configuring-weave/

網絡策略資源將有所幫助

查看文檔

一個示例 NetworkPolicy 可能如下所示:

 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy namespace: default spec: podSelector: matchLabels: role: db policyTypes: - Ingress - Egress ingress: - from: - ipBlock: cidr: 172.17.0.0/16 except: - 172.17.1.0/24 - namespaceSelector: matchLabels: project: myproject - podSelector: matchLabels: role: frontend ports: - protocol: TCP port: 6379 egress: - to: - ipBlock: cidr: 10.0.0.0/24 ports: - protocol: TCP port: 5978

規則ipBlock描述了ingressegress規則的網絡范圍。 例如:

    - ipBlock:
        cidr: 172.17.0.0/16
        except:
        - 172.17.1.0/24

CIDR

CIDR 代表Classless Inter-Domain Routing ,請參閱IPv4 CIDR 塊示例

更多信息

其實這是個好問題。 這取決於您的 CNI,在您使用 weavenet 的情況下。

我假設您正在為您的 Weavenet 使用daemonset進程。 如果是這樣,請在您的daemonset yaml 文件中添加類似的內容。

        spec:
          containers:
            - name: weave
              command:
                - /home/weave/launch.sh
              env:
                - name: IPALLOC_RANGE
                  value: 192.168.16.32/27

這為您的 pod 提供了一個從 192.168.16.32-63 的 IP 范圍。

您也可以使用 Wea​​ve CLI 進行設置,如果您需要,請告訴我。

希望這是有幫助的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM