在Kubernetes中实现Artifactory网络策略
控制pod或网络端点之间流量的2022世界杯阿根廷预选赛赛程Kubernetes资源称为NetworkPolicy。通过使用NetworkPolicy,您可以将流量限制到某些pod,同时允许名称空间中的其他pod接受来自任何地方的流量。要明智地做到这一点,您需要知道在实现NetworkPolicy时可用的不同策略规范是什么:
podSelector:每个NetworkPolicy包括一个podSelector,它选择给定策略应用到的pod组。
入口每个NetworkPolicy可能包含允许的进入规则列表。每个规则允许同时匹配来自和端口部分的流量。
出口每个NetworkPolicy可能包含允许的出口规则列表。每个规则允许同时匹配到和端口部分的流量。
policyTypes:每个NetworkPolicy包含一个policyTypes列表,其中可能包括入口、出口或两者。policyTypes字段指示给定的NetworkPolicy是否适用于所选pod的入口流量、来自所选pod的出口流量,或者两者都适用。
按照以下步骤应用网络策略:
1.在进行其他操作之前,您可能首先需要启用网络策略实施并安装一个支持的networkpolicy集装箱网络接口(CNI),如花布、纤毛、织物等。
例如:
| 亚马逊的: https://www.eksworkshop.com/beginner/120_network-policies/calico/stars_policy_demo/apply_network_policies/ GKE: https://cloud.google.com/kubernetes-engine/docs/how-to/network-policy#gcloud_1 部: https://docs.microsoft.com/en-us/azure/aks/use-network-policies#create-an-aks-cluster-and-enable-network-policy |
2.创建一个配置图对于您的NetworkPolicy:
| $ cat configmaps.yaml networkpolicy: 允许所有进出工厂的入口。 —name: artifactory podSelector: matchLabels: 应用:artifactory 入口: ——从: - podSelector: matchLabels: 组件:nginx 允许从人工pod连接到postgresql pod,但不允许流量离开postgresql pod。 —名称:postgres podSelector: matchLabels: 应用:postgresql 入口: ——从: - podSelector: matchLabels: 应用:Artifactoryv |
3.安装Artifactory使用创建的configmaps.yaml使用以下命令创建文件:
| $ helm install -name artifactory -set artifactory.image.version=6.16.0 jfrog/artifactory -version 8.3.6 -f configmaps. conf命名空间工件 |
4.试着访问你的Artifactory豆荚没有正确的标签(这将允许您观察网络超时)。
例如:
| 运行busybox容器 $ kubectl run busybox - rm -ti - image=busybox - /bin/sh |
5.从busybox容器,试着运行旋度或wget命令ping你的Artifactory pod:
| $ curl https://artifactory-artifactory:8081/artifactory/api/system/ping |
请注意:您应该观察到由于强制的网络策略而导致超时的发生。
6.接下来,尝试在两者上运行步骤#5中的相同命令PostgreSQL和Nginx豆荚.您可能会注意到,ping请求只会从Nginx pod成功,而不会从任何其他外部客户端成功。
7.如果您想为所有的人工HA节点,你可能需要添加/附加以下YAML的配置到你的configmaps.yaml文件,并使用以下命令应用网络策略:
| $ kubectl apply -f configmaps。Yaml -n artifactory |
例如:
| 入口: ——从: - podSelector: matchLabels: 组件:nginx —name: artifactory-ha podSelector: matchLabels: 应用:artifactory 入口: ——从: - podSelector: matchLabels: 组件:artifactory |
发布日期:2020年8月19日
最后更新:2021年5月14日
