Network Isolation Pipeline #1062
nitindagar0
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Context:
In the MP clusters, NSG (Network Security Group) rules are currently managed through the NI (Network Isolation) controller. The NI controller is responsible for creating and updating NSG resources to ensure network isolation in AKS clusters. This discussion outlines a new approach to streamline the rollout of NSG rules in MP clusters by leveraging an inventory-based configuration to support both platform and partner workload rules. This solution aims to reduce deployment time, enable better support for sovereign clouds, and ensure a structured deployment process.
Problem Statement:
Possible Solutions
2) Publishing data using inventory publisher.
Partner will raise a PR and merge its changes in GriffinD2 repository.
Whenever any partner change is merged into the master branch of GriffinD2, it triggers an ADO release pipeline named "NI pipeline".
The pipeline would copy all the config files to a blob.
Our Inventory publisher will monitor the Blob change feed, if there is an update, then Inventorypublisher will be triggered to consume the latest file.
The Inventory publisher will send the platform and partner workload level NSG rules to the CA Inventory. For each workload, it will simply send a request to update the existing object already present on the cluster.
Inventory publisher will create separate table for both platform and workload rules like griffinD2 repo
Platform NI Rules
Workload NI Rules
Following Spec will be created once inventory publisher generates resources
Whenever the cluster controller will be performing the reconciliation for a cluster resource it will do the following: -
Fetch Platform rules which are at Ring level.
Get all the namespace instances that should be deployed on the cluster.
For each namespace instance, get its workload.
It will generate NI rules as per following spec.
Merge all rules for each current cluster and populate “NI Security Rules” Table.
NSG service will fetch Data from NI rules and CRDs and will apply Update NSG table.
NSG Table in Inventory is the source of truth for NSG rules along with firewall rules
NI reconciler will consume NSG table to update NSG resources.
Update Azure NSG resources.
Beta Was this translation helpful? Give feedback.
All reactions