You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 12, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ To deploy a cluster:
37
37
1. Create the config files you need via `./generate-yaml.sh`. This will generate the following files in [out/packet](./out/packet):
38
38
*`cluster.yaml`
39
39
*`machines.yaml`
40
-
*`provider-components.yaml`
40
+
*`provider-components.yaml` - note that this file _will_ contain your secrets, specifically `PACKET_API_KEY`, to be loaded into the cluster
41
41
*`addons.yaml`
42
42
1. If desired, edit the following files:
43
43
*`cluster.yaml` - to change parameters or settings, including network CIDRs
@@ -62,7 +62,6 @@ Run `clusterctl create cluster --help` for more options, for example to use an e
62
62
* creating a new one using [kind](https://github.com/kubernetes-sigs/kind)
63
63
* connecting using the provided kubeconfig
64
64
1. Deploy the provider components in `provider-components.yaml`
65
-
1. Update the secret in the cluster with your credentials based on the environment variables set earlier
66
65
1. Create a master node on Packet, download the `kubeconfig` file
67
66
1. Connect to the master and deploy the controllers
68
67
1. Create worker nodes
@@ -74,17 +73,20 @@ Run `clusterctl create cluster --help` for more options, for example to use an e
74
73
75
74
If you _really_ want to deploy manually, rather than using `clusterctl`, do the following. This assumes that you have generated the yaml files as required.
76
75
77
-
1. Ensure you have a cluster running
78
-
1.Edit the `provider-components.yaml` to update the secret at the very end with the real values for the project ID and API key
76
+
1. Ensure you have a bootstrap cluster running
77
+
1.Run `./generate-yaml.sh` per the instructions above
79
78
1. Deploy the manager controller: `kubectl apply -f provider-components.yaml`
80
79
1. Deploy the cluster: `kubectl apply -f cluster.yaml`
81
80
1. Deploy the machines: `kubectl apply -f machines.yaml`
82
81
1. Deploy the addons: `kubectl apply -f addons.yaml`
82
+
1. Create a `kubeconfig` file for the workload cluster
83
+
1. "Pivot" to the workload cluster by switching to the new kubeconfig: `export KUBECONFIG=kubeconfig`
84
+
1. Reapply all of the components: `kubectl apply -f provider-components.yaml cluster.yaml machines.yaml addons.yaml`
85
+
1. Shut down the bootstrap cluster, if desired
83
86
84
87
Note that, unlike `clusterctl`, this method will not take care of the following:
85
88
86
89
* create a bootstrap cluster
87
-
* inject the actual secret values
88
90
* pivot the control from the bootstrap cluster to the newly started cluster
89
91
* remove the bootstrap cluster
90
92
@@ -106,6 +108,7 @@ The components deployed via the `yaml` files are the following:
106
108
* all of the necessary `ClusterRole`, `ClusterRoleBinding`, `ServiceAccount` to run the controllers
107
109
* Packet-specific `manager` binary, in a `StatefulSet`, whose control loop manages the `Cluster` and `MachineDeployment` resources, and creates, updates or removes `Machine` resources
108
110
* Cluster-API-generic `controller` binary, in a `StatefulSet`, whose control loop manages the `Machine` resources
111
+
*`Secret` with Packet credentials
109
112
110
113
As of this writing, the Packet cluster-api provider control plane supports only one master node. Thus, you should deploy a single control plane node as a `Machine`, and the worker nodes as a `MachineDeployment`. This is the default provided by `generate-yaml.sh`. Because the worker nodes are a `MachineDeployment`, the cluster-api manager keeps track of the count. If one disappears, it ensures that a new one is deployed to take its place.
0 commit comments