Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kubeadm: Update the dropin for the kubelet in v1.11 #64780

Merged
merged 1 commit into from
Jun 6, 2018

Conversation

luxas
Copy link
Member

@luxas luxas commented Jun 5, 2018

What this PR does / why we need it:
One of the final pieces of kubernetes/kubeadm#851, kubernetes/kubeadm#847 and kubernetes/kubeadm#822

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
(partially)
Fixes kubernetes/kubeadm#822

Special notes for your reviewer: Please check whether this release note makes sense to you.

Release note:

[action required] The structure of the kubelet dropin in the kubeadm deb package has changed significantly.
Instead of hard-coding the parameters for the kubelet in the dropin, a structured configuration file
for the kubelet is used, and is expected to be present in `/var/lib/kubelet/config.yaml`.
For runtime-detected, instance-specific configuration values, a environment file with
dynamically-generated flags at `kubeadm init` or `kubeadm join` run time is used.
Finally, if the user wants to override something specific for the kubelet that can't be done via
the kubeadm Configuration file (which is preferred), they might add flags to the 
`KUBELET_EXTRA_ARGS` environment variable in either `/etc/default/kubelet`
or `/etc/sysconfig/kubelet`, depending on the system you're running on.

@kubernetes/sig-cluster-lifecycle-pr-reviews

@k8s-ci-robot k8s-ci-robot added release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jun 5, 2018
@luxas luxas requested review from kad, chuckha, timothysc and liztio and removed request for lavalamp June 5, 2018 17:24
@luxas
Copy link
Member Author

luxas commented Jun 5, 2018

/kind feature
/priority critical-urgent
/milestone v1.11
/status approved-for-milestone

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. status/approved-for-milestone labels Jun 5, 2018
@k8s-ci-robot k8s-ci-robot added this to the v1.11 milestone Jun 5, 2018
@k8s-ci-robot k8s-ci-robot added priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. status/approved-for-milestone labels Jun 5, 2018
@k8s-github-robot
Copy link

[MILESTONENOTIFIER] Milestone Pull Request: Up-to-date for process

@luxas @timothysc

Pull Request Labels
  • sig/cluster-lifecycle: Pull Request will be escalated to these SIGs if needed.
  • priority/critical-urgent: Never automatically move pull request out of a release milestone; continually escalate to contributor and SIG through all available channels.
  • kind/feature: New functionality.
Help

Copy link
Member

@timothysc timothysc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

in the future I think we should de-dupe this
/cc @chuckha

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 5, 2018
@luxas
Copy link
Member Author

luxas commented Jun 5, 2018

in the future I think we should de-dupe this

I think so too if possible, but there is one small difference I don't know if can be customized easily, /etc/default/kubelet vs /etc/sysconfig/kubelet 🤔

@timothysc
Copy link
Member

I think so too if possible, but there is one small difference I don't know if can be customized easily, /etc/default/kubelet vs /etc/sysconfig/kubelet 🤔

build-vars through bazel gen.

@luxas
Copy link
Member Author

luxas commented Jun 5, 2018

Ugh, apparently there is no OWNERS file for build/rpms, although it should equal build/debs OWNERS... @timothysc can you send a PR to fix that please?
Manually overriding in order to get this merged meanwhile

/test pull-kubernetes-e2e-kubeadm-gce
as well

@luxas luxas added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 5, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: luxas, timothysc

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@@ -1,13 +1,11 @@
# Note: This dropin only works with kubeadm and kubelet v1.11+
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pardon my ignorance here, but how will this work during upgrades? Once the kubeadm deb is installed the kubelet service will be restarted and pick up this drop in file.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upgrade will overwrite but drop and env-override on join that the operator will need to address.

upgrades are not seamless which is why @luxas did this PR with it's own action required release note.

@fejta-bot
Copy link

/retest
This bot automatically retries jobs that failed/flaked on approved PRs (send feedback to fejta).

Review the full test history for this PR.

Silence the bot with an /lgtm cancel comment for consistent failures.

@k8s-github-robot
Copy link

Automatic merge from submit-queue (batch tested with PRs 64009, 64780, 64354, 64727, 63650). If you want to cherry-pick this change to another branch, please follow the instructions here.

@k8s-github-robot k8s-github-robot merged commit 216009f into kubernetes:master Jun 6, 2018
k8s-github-robot pushed a commit that referenced this pull request Jun 7, 2018
Automatic merge from submit-queue (batch tested with PRs 63386, 64624, 62297, 64847). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Final kubeadm-kubelet integration refactor PR

**What this PR does / why we need it**:
Note: Work in progress
This PR:
 - [x] Updates the debs/rpms to do the "right thing" with the new integration flow
    - Broken out into #64780
 - [x] Uploads the `CRISocket` information to the Node object as an annotation
   - Broken out into: #64792
 - [x] Makes the `kubeadm init` / `kubeadm join` flow to be preflight, stop kubelet, write config/env files, daemon-reload, start kubelet
 - [x] Renames `.NodeRegistration.ExtraArgs` to `.NodeRegistration.KubeletExtraArgs` as discussed in the SIG meeting
 - [x] Adds a `kubeadm upgrade node config` command for fetching the latest configuration and writing it down to the node before upgrading the kubelet
 - [x] Makes dynamic kubelet config actually get enabled when the feature gate in kubeadm is specifically opted into by the user
 - [x] Fixes misc. minor bugs
 - [x] Makes sure `kubeadm init --dry-run` works, so the dry-run functionality works for the kubelet integration as well

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
kubeadm: Add a new `kubeadm upgrade node config` command
```
@kubernetes/sig-cluster-lifecycle-pr-reviews
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. release-note-action-required Denotes a PR that introduces potentially breaking changes that require user action. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make kubeadm start controlling kubelet Config via a versioned file
6 participants