在Kubernetes中实现Artifactory的网络策略
控制pod或网络端点之间流量的2022世界杯阿根廷预选赛赛程Kubernetes资源称为NetworkPolicy。通过使用NetworkPolicy,您可以将流量限制到特定的pod,同时允许名称空间中的其他pod接受来自任何地方的流量。要明智地做到这一点,你需要知道在实现NetworkPolicy时,有哪些不同的策略规范可供你使用:
podSelector:每个NetworkPolicy包括一个podSelector,它选择给定策略应用到的pod的分组。
入口:每个NetworkPolicy可能包含一个允许的入口规则列表。每个规则允许同时匹配from和ports部分的流量。
出口:每个NetworkPolicy可能包含一个允许的出口规则列表。每个规则允许同时匹配to和ports部分的流量。
policyTypes:每个NetworkPolicy包含一个policyTypes列表,该列表可能包含入口、出口或两者都包含。policyTypes字段指示给定的NetworkPolicy是否应用于进入所选pod的流量,从所选pod的出口流量,或者两者都应用。
遵循以下步骤来应用网络策略:
1.在做其他事情之前,您可能首先需要启用网络策略实施并安装NetworkPolicy-supporting-容器网络接口(CNI),如Calico, Cilium, Weave等。
例如:
亚马逊的:
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.创建一个配置图阁下的网络政策:$ cat configmaps.yaml
networkpolicy:
#允许所有的入/出artifactory。
—名称:artifactory
podSelector:
matchLabels:
应用:artifactory
入口:
——从:
- podSelector:
matchLabels:
组件:nginx
#允许从artifactory 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. exeYaml -命名空间artifactory
4.尝试访问您的Artifactory豆荚没有正确的标签(这将允许您观察网络超时)。
例如:
运行busybox容器
$ kubectl运行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应用-f configmaps。Yaml -n artifactory
例如:入口:
——从:
- podSelector:
matchLabels:
组件:nginx
—名称:artifactory-ha
podSelector:
matchLabels:
应用:artifactory
入口:
——从:
- podSelector:
matchLabels:
组件:artifactory
发布日期:2020年8月19日
最后更新:2021年5月14日
