从外面就可以访问example.com的443 和80 。在k8s中需要哪些设置
下面是一个 Calico 配置文件的示例:
在 Calico 的配置文件 calico.yaml 中,您可以定义许多相关参数,例如 Calico 的 IP 地址段、配置节点的网络参数。这些配置将用于管理 Calico 网络的行为,以确保您的网络性能符合您的要求。例如,您可以在 Calico 配置文件中定义子网,这将用于在每个节点上分配 IP 地址。此外,您还可以配置 Calico 网络的 BGP 路由策略,以便控制数据包在 Calico 网络内的流动方式。
下面定义一个名为 “example-policy” 的 CalicoNetworkPolicy。它将使用选择器 “app == ’example’” 来选择应用程序,并定义了网络流量的控制策略。该策略允许 “app == ‘other-example’” 的流量,而拒绝 “app == ‘malicious’” 的流量。
apiVersion: projectcalico.org/v3
kind: CalicoNetworkPolicy
metadata:
name: example-policy
spec:
selector: app == 'example'
types:
- Ingress
ingress:
- action: Allow
source:
selector: app == 'other-example'
- action: Deny
source:
selector: app == 'malicious'
下面定义了一个名为 “allow-http” 的 Calico 网络策略,该策略的选择器是 “app == ‘http-server’",因此该策略将应用于所有标记为 “app == ‘http-server’” 的 Pod。这个策略允许在源地址为 “app == ‘client’” 的 Pod 和目标地址为 “192.168.0.0/16” 的网络上使用 TCP 协议的流量。这个配置文件实现了对 IP 地址段 “192.168.0.0/16” 的管理,以及对网络行为的控制。
apiVersion: projectcalico.org/v3
kind: CalicoNetworkPolicy
metadata:
name: allow-http
spec:
selector: app == 'http-server'
#在 Deployment yaml 配置文件中,matchLabels: app: nginx-web 对应着 Network Policy 中的 selector: app == 'nginx-web' 。
#在 Service yaml 配置文件中, selector: app: nginx-web 也对应着 Network Policy 中的 selector: app == 'nginx-web'
types:
- Ingress
- Egress
ingress:
- action: Allow
protocol: TCP
destination:
nets: ["192.168.0.0/16"]
source:
selector: app == 'client'
egress:
- action: Allow
protocol: TCP
destination:
nets: ["192.168.0.0/16"]
source:
selector: app == 'client'
```Text only
Calico定义BGP 策略
在下面的示例中,你可以定义 Calico 的 BGP 配置,并设置 AS 号、日志级别、节点间网络状态等参数。
apiVersion: projectcalico.org/v3 kind: BGPConfiguration metadata: name: default spec: logSeverityScreen: Info nodeToNodeMeshEnabled: true asNumber: 64512