部门网站建设怎么做大连高新园区邮编
2026/1/10 9:06:16 网站建设 项目流程
部门网站建设怎么做,大连高新园区邮编,网站逻辑结构优化,网站建设案例百度云背景 以下方案以UAT环境为例#xff1a; 为符合安全审计要求#xff0c;需要对阿里云项目中的ACK集群进行严格的访问控制#xff0c;具体要求如下#xff1a; 1. 生产环境的应用仅能访问生产环境的数据库。 2. UAT环境的应用仅能访问UAT环境的数据库。 方案及步骤 方案…背景以下方案以UAT环境为例为符合安全审计要求需要对阿里云项目中的ACK集群进行严格的访问控制具体要求如下1. 生产环境的应用仅能访问生产环境的数据库。2. UAT环境的应用仅能访问UAT环境的数据库。方案及步骤方案概述在阿里云环境中应用app和数据库db分别部署在两个不同的ACK集群。app集群的生产环境和UAT环境位于同一子网并且每个Pod都有独立的IP地址且出集群时不通过节点IP。当前应用通过db集群的Servicesvc地址连接数据库实质上是通过负载均衡LB进行通信。为了增强安全性我们计划通过在LB上配置ACL白名单来限制连接源。但是由于app集群的生产环境和UAT环境处于同一子网无法通过网段来配置ACL因此需要采用固定Pod IP地址来进行访问控制。方案步骤1. 固定Pod IP地址a) 启用ACK Trunk ENI功能并创建PodNetworking CRD以固定StatefulSet类型Pod的IP地址。b) 由于目前的应用是Deployment类型而不是StatefulSet因此需要将Deployment类型的Pod动态转换为StatefulSet类型以便为Pod提供固定IP。2.避免集群内走IPVS表a) 在集群内部默认情况下使用LB访问时流量会经过ipvs表这样会导致LB ACL在同集群内无法控制。如果希望流量不经过内部的ipvs表而是通过集群外部进行负载均衡必须为Service添加注解指定外部负载均衡的hostname。通过以下注解可以确保流量通过集群外部的负载均衡而不是走集群内部的ipvs表service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname: ${your_service_hostname}b) 作用该注解指定了负载均衡器的外部域名使流量可以绕过集群内部的ipvs表直接通过外部负载均衡器进行路由。3.ACL白名单控制a)由于生产和UAT环境在同一子网无法通过子网网段进行ACL控制。解决方法是通过固定Pod的IP地址并在LB上配置ACL白名单只允许特定IP地址即固定的Pod IP访问数据库从而提高安全性。固定Pod IP地址查看已有集群是否支持使用Trunk ENI功能对于ACK专有集群无需执行此步骤。但是需要额外申请Trunk实例使用权限。请向ECS提交工单申请即可使用Trunk ENI功能。对于存量ACK托管集群或是由ACK专有集群迁移过来的ACK托管集群需要查看集群是否支持使用Trunk ENI功能并修改配置。无需额外申请Trunk实例使用权限。执行以下命令检查token配置kubectl get secret -nkube-system addon.network.token预期输出如下所示NAMETYPEDATAAGEaddon.network.tokenOpaque169m如果存在token配置则执行下一步如果不存在token配置表明该集群不支持使用Trunk ENI功能请新建集群支持Trunk ENI功能。开启terway-eniip并为集群启用Trunk ENI功能1.登录容器服务管理控制台在左侧导航栏选择集群。2.在集群列表页面单击目标集群名称然后在左侧导航栏选择运维管理 组件管理。3.在组件管理页面单击网络页签找到terway-eniip组件。4.在terway-eniip卡片单击升级升级terway-eniip组件到最新版本。如果卡片上没有升级字样说明当前组件已经是最新版本请跳过此步骤。1.开启terway-enniip。执行如下命令编辑eni-configkubectl edit cm -nkube-system eni-config编辑YAML文件的eni-config参数参数值说明enable_eni_trunkingtrue启用Trunk ENI功能。开启后不可关闭。credential_path/var/addon/token-config对于ACK托管集群如果YAML文件中不存在该参数请自行添加。请勿修改其他参数。eni-config内容需要为合法JSON格式。配置参数示例如下apiVersion: v1data:eni_conf: |{min_pool_size: 0,enable_eni_trunking: true,credential_path: /var/addon/token-config,...}kind: ConfigMap执行如下命令重启terway pods使配置生效kubectl delete pod -n kube-system -l appterway-eniip1.请在terway-eniip参数配置完成后在组件管理页面的网络页签安装terway-controlplane组件。安装结束后在terway-controlplane卡片上可以看到已安装字样。创建网络自定义资源PodNetworkingTerway增加一种名为PodNetworking的自定义资源来描述网络配置。您可以创建多个PodNetworking来规划不同的网络平面。1.登录容器服务管理控制台在左侧导航栏选择集群。2.在集群列表页面单击目标集群名称然后在左侧导航栏选择工作负载 自定义资源。3.在自定义资源页面单击使用YAML创建资源。创建PodNetworking的示例如下apiVersion: network.alibabacloud.com/v1beta1kind: PodNetworkingmetadata:name: podnetworking-185spec:allocationType:type: Fixed # Pod IP分配的策略可以取值为Elastic或Fixed。releaseStrategy: Never # 只有将type配置为Fixed时releaseStrategy参数才有效type的配置为Elastic时无需配置releaseStrategy和releaseAfter参数。releaseAfter: 1h # 在releaseStrategy为TTL模式下releaseAfter参数才有效。selector:namespaceSelector:matchLabels:appname: 185status:status: Ready为命名空间添加匹配标签在部署PodNetworking自定义资源后需要为指定命名空间增加匹配的标签确保与PodNetworking的规则相匹配。kubectl label ns abc-185-7db8e appname185手动改造deployment创建应用Pod当创建Pod时Pod将根据标签与PodNetworking资源进行匹配。如果Pod没有匹配到任何PodNetworking资源它将默认使用ENI提供的IP。如果有匹配的PodNetworkingPod将按照该资源定义的配置来分配ENI。apiVersion: apps/v1kind: StatefulSetmetadata:labels:log_temp_id: rowBasedprojectkey: abc-ba7b5name: abc-ba7b5namespace: abc-185-7db8espec:replicas: 2revisionHistoryLimit: 10selector:matchLabels:log_temp_id: rowBasedprojectkey: abc-ba7b5template:metadata:labels:log_temp_id: rowBasedprojectkey: abc-ba7b5spec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linux- key: nodeGroupoperator: Invalues:- share-pod-uat-49db4containers:- env:- name: CCE_ENVvalue: uatimage: cmp-registry.abc.com.cn/library/abc-ba7b5:v10imagePullPolicy: IfNotPresentname: abc-ba7b5resources:limits:cpu: 2memory: 4Girequests:cpu: 200mmemory: 409MiterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30改造后将deployment副本改为0kubectl -n abc-185-7db8e scale deployment abc-ba7b5 --replicas 0避免集群内走IPVS表在集群内部默认情况下使用LB访问时流量会经过ipvs表这样会导致LB ACL在同集群内无法控制。如果希望流量不经过内部的ipvs表而是通过集群外部进行负载均衡必须为Service添加注解指定外部负载均衡的hostname。如下图如果不添加注解则会出现如下情况kubectl -n abc-185-7db8e edit svc abc-185-mysql-svcapiVersion: v1kind: Servicemetadata:annotations:service.beta.kubernetes.io/alibaba-cloud-loadbalancer-hostname: abc-185-mysql-svc...kubectl -n abc-185-7db8e get svc abc-185-mysql-svckubectl -n abc-185-7db8e describe svc abc-185-mysql-svc加上此注解后在k8s层面看不到LB IP地址了需要通过lb id在阿里云控制台进行查看ACL白名单控制由于生产和UAT环境在同一子网无法通过子网网段进行ACL控制。解决方法是通过固定Pod的IP地址并在LB上配置ACL白名单只允许特定IP地址即固定的Pod IP访问数据库从而提高安全性。查看uat环境app pod ip设置访问控制策略组设置访问控制白名单扩展同集群内LB ACL不生效我们是通过在LB添加注解方式实现如果要真正限制住db集群的pod访问可以通过k8s networkpolicy实现。这样不仅限制住LB的访问pod的访问也被限制住。启用ACK集群网络策略前提条件已创建ACK托管集群或ACK专有集群且集群网络插件为Terway。1.登录容器服务管理控制台在左侧导航栏选择集群。2.在集群列表页面单击目标集群名称然后在左侧导航栏选择运维管理 组件管理。3.单击网络页签定位terway-eniip组件并单击右下角的配置勾选启用 NetworkPolicy然后单击确定。对没有启用DataPath V2的集群开启NetwokPolicy功能对已有节点不能立即生效您需要重启节点才能生效。通过网络策略限制指定IP列表可以访问特定标签下namespace的所有pod这条策略和LB ACL的白名单保持一致apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata:name: allow-specific-ip-onlynamespace: abc-185-7db8e # 目标命名空间spec:policyTypes:- Ingressingress:- from:- ipBlock:cidr: 10.X.X.14/32- ipBlock:cidr: 10.X.X.15/32- ipBlock:cidr: 10.X.X.16/32podSelector: {} # 选择该命名空间下所有的 Pod下面这条策略是拒绝所有浏览访问可以用来debug:apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata:name: default-deny-allnamespace: abc-185-7db8espec:podSelector: {} # 选择命名空间中的所有 PodpolicyTypes:- Ingress参考资料为Pod配置固定IP及独立虚拟交换机、安全组https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/configure-a-static-ip-address-a-separate-vswitch-and-a-separate-security-group-for-each-pod?spm5176.28426678.J_HeJR_wZokYt378dwP-lLl.1.5d015181XM6aHUscm20140722.S_help%E6%96%87%E6%A1%A3443632.S_BB2blRQWag0BB1ag0os0.ID_443632-RL_%E4%B8%BApod%E9%85%8D%E7%BD%AE%E5%9B%BA%E5%AE%9Aip-LOC_search~UND~helpdoc~UND~item-OR_ser-V_4-P0_0#8433b7ada0byo通过Annotation配置传统型负载均衡CLBhttps://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/add-annotations-to-the-yaml-file-of-a-service-to-configure-clb-instances一次网络不通争吵引发的思考https://www.cnblogs.com/alisystemsoftware/p/17637749.htmlCLB访问控制https://help.aliyun.com/zh/slb/classic-load-balancer/user-guide/overview-3?spma2c4g.11174283.0.0.6d02de53td6uwK在ACK集群使用网络策略https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/use-network-policies?spma2c4g.11186623.0.0.2dd51109Ol3fEO#585e3173083do

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询