-
Notifications
You must be signed in to change notification settings - Fork 262
modules/ignition: unify kubelet/docker bootstrap via tectonic-torcx #1710
Conversation
7297eaa to
b202b42
Compare
platforms/vmware/main.tf
Outdated
| private_key = "${var.tectonic_vmware_ssh_private_key_path}" | ||
| image_re = "${var.tectonic_image_re}" | ||
|
|
||
| ign_installer_kubelet_env_id = "${module.ignition.installer_kubelet_env_id}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this line is supposed to go under module "masters" instead of etcd?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is already under "masters", github folding is tricking you into believing it's under "etcd" instead ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
darn you github!
c178b50 to
16ea9e6
Compare
8c0a567 to
1d3daf7
Compare
1d3daf7 to
02546e9
Compare
403447a to
f6b286c
Compare
|
close/open to refresh the labels |
1f92f9b to
582ad93
Compare
582ad93 to
375fc03
Compare
|
This is a release blocker |
375fc03 to
f2b8a8e
Compare
d26ee0b to
c2d9cfb
Compare
|
This is mostly green (I think Azure failure is a flake in the cloud API) and ready for review. |
modules/ignition/assets.tf
Outdated
| kubeconfig_fetch_cmd = "${var.kubeconfig_fetch_cmd != "" ? "ExecStartPre=${var.kubeconfig_fetch_cmd}" : ""}" | ||
| tectonic_torcx_image_url = "${replace(var.container_images["tectonic_torcx"],var.image_re,"$1")}" | ||
| tectonic_torcx_image_tag = "${replace(var.container_images["tectonic_torcx"],var.image_re,"$2")}" | ||
| torcx_skip_setup = "${var.tectonic_vanilla_k8s == 1 ? "true" : "false" }" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
${var.tectonic_vanilla_k8s ? "true" : "false" }
modules/ignition/variables.tf
Outdated
| } | ||
|
|
||
| variable "tectonic_vanilla_k8s" { | ||
| default = false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's remove default here to enforce variable declaration.
s-urbaniak
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
two nits, else LGTM once green, thanks! That's a big step :-)
| tectonic_etcd_operator = "quay.io/coreos/tectonic-etcd-operator:v0.0.2" | ||
| tectonic_prometheus_operator = "quay.io/coreos/tectonic-prometheus-operator:v1.6.0" | ||
| tectonic_cluo_operator = "quay.io/coreos/tectonic-cluo-operator:v0.2.0" | ||
| tectonic_torcx = "quay.io/coreos/tectonic-torcx:installer-latest" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
installer-latest: do we want this as a final value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this is a mutable tag dedicated to the installer. We need this here for forward compatibility until some higher level component takes care of the kubernetes->docker mapping.
@robszumski has a tracker item for this somewhere.
c2d9cfb to
de03697
Compare
|
@s-urbaniak thanks for the review, nits addressed, CI ongoing. |
|
This cannot be merged as is because all tests are red. |
|
cc @yifan-gu |
de03697 to
b32d36b
Compare
|
@Quentin-M sorry, it was fine before and I mistakenly broke it when addressing review comments. Amended. |
|
Thank you so much! |
|
|
||
| Additionally, only on one of the master node the following kubernetes bootstrapping happens: | ||
|
|
||
| * `bootkube.service` deploys the initial bootstrapping control-plane. It is started only after ``kubelet.service` _is started_. It is a oneshot unit and cannot crash, and it runs only during bootstrap |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: double back-tick on kubelet.service
| * `k8s-node-bootstrap.service` ensures node and assets freshness. It is automatically started on boot, can crash-loop, and it runs only during bootstrap | ||
| * `kubelet.service` is the main kubelet deamon. It is automatically started on boot, it is crash-looping until `kubelet.env` is populated, and it runs on each boot | ||
|
|
||
| Additionally, only on one of the master node the following kubernetes bootstrapping happens: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: one of the master nodes
b32d36b to
eb88abd
Compare
|
Pushed to fix conflict in config.tf.. but looks like there are some new comments anyways. We can wait until tomorrow then. |
|
@Quentin-M mine are just nits, they aren't release blocking and can be fixed in a follow-up PR. |
| @@ -0,0 +1,36 @@ | |||
| [Unit] | |||
| Description=Determine the Kubelet Image Version | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: It does more than that now right? @lucab
eb88abd to
1e7b1ca
Compare
This introduces a new k8s-node-bootstrap.service, replacing and augmenting kubelet-env.service. The full bootstrap flow is now documented at [Documentation/dev/node-bootstrap-flow.md] Summary of the changes: * drop kubelet-env.service and kubelet.env * introduce k8s-node-bootstrap.service * introduce /etc/kubernetes/installer/kubelet.env
1e7b1ca to
3fc7170
Compare
|
@diegs thanks for proofreading! @yifan-gu yes, it does docker setup (via torcx) and kubelet.env setup (similar to previous kube-version). I renamed the service but forgot to update the description. @Quentin-M thanks for the push, it hit some flakes anyway. I rebased once more for the remaining nits, no flakes this time. |
This PR unifies the bootstrapping process of new nodes, taking care of both kubelet (now) and docker (future CL releases, via torcx).
It introduces a new k8s-node-bootstrap.service, replacing and augmenting kubelet-env.service.
The full bootstrap flow is now documented at
node-bootstrap-flow.md(see rendered version).Summary of the changes:
/cc @squeed