diff --git a/aks-node-controller/README.md b/aks-node-controller/README.md index 72a20f7837..8e26e3df7c 100644 --- a/aks-node-controller/README.md +++ b/aks-node-controller/README.md @@ -79,7 +79,7 @@ Here is an example response return by CSE: ### Provisioning Flow -Upon first startup, CustomData is made available to the VM, after which cloud-init is able to process the content which, in this case, involves writing the bootstrap config to disk. The binary is triggered by a systemd unit, [`aks-node-controller.service`](https://github.com/Azure/AgentBaker/blob/dev/parts/linux/cloud-init/artifacts/aks-node-controller.service) which is automatically run once cloud-init is complete. In this way, we are ensuring the bootstrapping config is present on the node and can proceeed to run the go binary to start the bootstrapping process. +Upon first startup, CustomData is made available to the VM, after which cloud-init is able to process the content, in this case, writing the bootstrap config to disk. The binary is triggered by a systemd unit, [`aks-node-controller.service`](https://github.com/Azure/AgentBaker/blob/dev/parts/linux/cloud-init/artifacts/aks-node-controller.service) which is automatically run once cloud-init is complete. In this way, we are ensuring the bootstrapping config is present on the node and can proceeed to run the go binary to start the bootstrapping process. Below is the content of `CustomData` and `CSE` that is returned by `GetNodeBootstrapping`. @@ -103,11 +103,12 @@ CSE script: `/opt/azure/containers/aks-node-controller provision-wait` Below is a diagram illustrating the provisioning flow: -![alt text](./images/scriptlessBootstrapFlow.png) +![provisionDiagram](../.github/images/scriptlessBootstrapFlow.png) Key components: 1. `aks-node-controller.service`: systemd unit that is triggered once cloud-init is complete (guaranteeing that config is present on disk) and then kickstarts bootstrapping. 2. `aks-node-controller` go binary with two modes: + - provision: parses the node config and triggers bootstrap process - provision-wait: waits for `provision.complete` to be present and reads `provision.json` which contains the provision output of type `CSEStatus` and is returned by CSE through capturing stdout \ No newline at end of file