Skip to content

Commit 2115c16

Browse files
committed
README update
1 parent a6faf2d commit 2115c16

File tree

1 file changed

+9
-40
lines changed

1 file changed

+9
-40
lines changed

README.md

Lines changed: 9 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Welcome to the MCSH-OS project! This ISO provides a ready-to-use, ephemeral Arch
2727

2828
## Overview
2929

30-
This project provides a lightweight, customizable ISO for quickly adding worker nodes to a Kubernetes cluster. By booting from this ISO, nodes can automatically join a cluster using predefined DHCP options, eliminating the need for manual configuration.
30+
This project provides a lightweight, customizable ISO for quickly adding worker nodes to a Kubernetes cluster. By booting from this ISO, nodes can automatically join a cluster using predefined values from an HTTP server, eliminating the need for manual configuration.
3131

3232
Originally developed by our hosting service to manage nodes at scale, this ISO is ideal for environments where ephemeral worker nodes are beneficial, such as test clusters, CI/CD pipelines, or dynamic scaling scenarios.
3333

@@ -55,54 +55,23 @@ You don't need to build the ISO yourself unless you want to customize it. You ca
5555

5656
   Visit the [Releases](https://github.com/mcserverhosting-net/OS/releases) page and download the latest ISO artifact.
5757

58-
2. **Set Up DHCP Options**:
58+
2. **Set Up HTTP Options**:
5959

60-
   Configure your DHCP server to provide the necessary options for the nodes to auto-join your Kubernetes cluster. See [DHCP Options for Auto-Join](#dhcp-options-for-auto-join) below.
60+
   Configure an HTTP server to provide the necessary options for the nodes to auto-join your Kubernetes cluster. See [HTTP Options for Auto-Join](#http-options-for-auto-join) below.
6161

6262
3. **Boot the Node**:
6363

6464
   Boot your machine using the downloaded ISO (via USB, PXE, or virtual machine). The node will automatically format the first available disk, load necessary kernel modules, and join your Kubernetes cluster.
6565

66-
### DHCP Options for Auto-Join
66+
### HTTP Options for Auto-Join
6767

68-
To enable nodes to automatically join your Kubernetes cluster, configure your DHCP server with the following options:
68+
To enable nodes to automatically join your Kubernetes cluster, configure your HTTP server to have the following files:
6969

70-
| Option Code | Name                        | Description                                                |
70+
| Path | Name                        | Description                                                |
7171
|-------------|-----------------------------|------------------------------------------------------------|
72-
| **1**       | Subnet Mask                 | Defines the subnet mask.                                   |
73-
| **3**       | Router                      | Specifies the default gateway.                             |
74-
| **6**       | Domain Name Servers         | Lists DNS servers.                                         |
75-
| **15**      | Domain Name                 | Sets the domain name.                                      |
76-
| **42**      | NTP Servers                 | Specifies NTP servers.                                     |
77-
| **66**      | TFTP Server Name            | TFTP server for network booting (if used).                 |
78-
| **67**      | Bootfile Name               | Name of the bootfile (if PXE booting).                     |
79-
| **119**     | Domain Search               | Specifies domain search list for DNS resolution.           |
80-
| **249**     | Kubeadm API Endpoint        | Custom option for kubeadm API endpoint (e.g., `API_ADDRESS`). |
81-
| **250**     | Kubeadm Token               | Custom option for kubeadm token (e.g., `TOKEN`).           |
82-
| **251**     | Kubeadm CA Cert Hash        | Custom option for kubeadm CA certificate hash (`CERTHASH`). |
83-
| **252**     | Node Labels                 | Custom option for Kubernetes node labels (`NODE_LABELS`).  |
84-
85-
**Note**: Options 249-252 are custom DHCP options that you need to define on your DHCP server to pass the kubeadm configuration parameters to the booting nodes.
86-
87-
#### Example ISC DHCP Server Configuration
88-
89-
```dhcpd.conf
90-
option space custom;
91-
option custom.api-address code 249 = text;
92-
option custom.token code 250 = text;
93-
option custom.ca-cert-hash code 251 = text;
94-
option custom.node-labels code 252 = text;
95-
subnet 192.168.1.0 netmask 255.255.255.0 {
96-
  range 192.168.1.100 192.168.1.200;
97-
  option routers 192.168.1.1;
98-
  option domain-name-servers 8.8.8.8;
99-
  option custom.api-address "your-api-server:6443";
100-
  option custom.token "your-kubeadm-token";
101-
  option custom.ca-cert-hash "sha256:your-ca-cert-hash";
102-
  option custom.node-labels "node-role.kubernetes.io/worker=true";
103-
}
104-
```
105-
72+
| /token       | Token                | The token for kubeadm join.                                   |
73+
| /apiServerEndpoint      | API Server Endpoint                     | The API Address and port for your kubernetes cluster.                             |
74+
| /certHash       | CA Cert Hash        | The CA Cert Hash for your cluster.                                         |
10675
## Customization
10776

10877
### Building from Prebuilt Docker Image

0 commit comments

Comments
 (0)