Skip to content

Commit

Permalink
fix readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Lily Pan committed Nov 12, 2024
1 parent 318e66f commit 51f84af
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions aks-node-controller/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand All @@ -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

0 comments on commit 51f84af

Please sign in to comment.