在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日
