Azure / Azure/azure-container-networking

Update the Makefile to the BYO cluster with CNS + CNI

Open
#3,773 3 comments 1 reaction 1 assignee Assigned to @Copilot View on GitHub
ci stale
Dominant language
Go
Stars
434
Forks
276
Avg merge
5d 20h
Merged PRs (30d)
33

Description

Update the makefile `https://github.com/Azure/azure-container-networking/tree/master/hack/aks` that should leverage the make file cmds mentioned below to create a byocni cluster based on the inputs.(Similar to the inputs passed to each Make cmd below). Make it universal and allow for other byocni scenarios. byocni cilium can be the default if the user does not specify another scenario.
Byocni cilium should be the default setup, but it should be configurable to create other types of clusters with the existing make targets.
Steps to create:
1. [hackfile](https://github.com/Azure/azure-container-networking/blob/master/hack/aks/Makefile#L137) contains many helpful commands for cluster provisioning. For this scenario, we are using overlay-byocni-nokubeproxy-up. Example:
```AZCLI=az CLUSTER=byocni-cluster SUB=9b8218f9-902a-4d20-a65c-e98acec5362f make overlay-byocni-nokubeproxy-up
```
2. Deploy CNS to Cluster. The ACN repo contains the make command to deploy CNS to the cluster. Make sure the script has these variables configurable. Run this from root. Example:
```
sudo -E env "PATH=$PATH" make test-load CNS_ONLY=true CNS_VERSION=v1.5.38 AZURE_IPAM_VERSION=v0.3.0 INSTALL_CNS=true INSTALL_OVERLAY=true CNS_IMAGE_REPO=MCR
```
3. This folder contains all of the [cilium manifests](https://github.com/Azure/azure-container-networking/tree/master/test/integration/manifests/cilium). You will need to deploy a particular version of cilium to the cluster. Make sure the variables are configurable For example,
```
export DIR= # format 1.14
export CILIUM_IMAGE_REGISTRY=acnpublic.azurecr.io # or mcr.microsoft.com/containernetworking if you need to use the published image
export CILIUM_VERSION_TAG=
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-config/cilium-config.yaml
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-operator/files
kubectl apply -f test/integration/manifests/cilium/v${DIR}/cilium-agent/files
export IPV6_HP_BPF_VERSION= # Needed for dualstack
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY},${IPV6_HP_BPF_VERSION}' < test/integration/manifests/cilium/v${DIR}/cilium-operator/templates/deployment.yaml | kubectl apply -f -
envsubst '${CILIUM_VERSION_TAG},${CILIUM_IMAGE_REGISTRY},${IPV6_HP_BPF_VERSION}' < test/integration/manifests/cilium/v${DIR}/cilium-agent/templates/daemonset.yaml | kubectl apply -f -
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.