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

Canal v3.10 manifest for k8s v1.15+ #7917

Merged
merged 4 commits into from
Dec 6, 2019

Conversation

KashifSaadat
Copy link
Contributor

@KashifSaadat KashifSaadat commented Nov 12, 2019

From Canal v3.8 onwards, a new init container is introduced and included in the manifests by default, which installs a Flex Volume Driver. This requires having a writeable path to install the driver in, which by default is /usr/libexec/kubernetes/kubelet-plugins/volume/exec/.

The default flexvol directory above is not writeable for OSs such as CoreOS & ContainerOS, so the volume plugin directory must be specified in the Cluster Spec like below:

spec:
  kubelet:
    volumePluginDirectory: /var/lib/kubelet/volumeplugins/

Typha support is now available for Canal deployments. This can be configured as follows:

spec:
  canal:
    typhaReplicas: 3

Other available options are: typhaPrometheusMetricsEnabled, typhaPrometheusMetricsPort

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Nov 12, 2019
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: KashifSaadat

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 12, 2019
@gambol99
Copy link
Contributor

gambol99 commented Dec 6, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 6, 2019
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 6, 2019
@gambol99
Copy link
Contributor

gambol99 commented Dec 6, 2019

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 6, 2019
@KashifSaadat
Copy link
Contributor Author

/retest

@KashifSaadat KashifSaadat reopened this Dec 6, 2019
@k8s-ci-robot k8s-ci-robot merged commit 03cb6e5 into kubernetes:master Dec 6, 2019
k8s-ci-robot added a commit that referenced this pull request Dec 12, 2019
@tmjd
Copy link
Contributor

tmjd commented Aug 20, 2020

I realize this was done a while ago but I was looking at the history of a recent add to the Calico manifest of adding a nodeSelector kubernetes.io/role: master and it looks like it probably originated with this PR. So I wanted to ask what the motivation was behind adding the nodeSelector?

As referenced here #8104 (comment)

@KashifSaadat
Copy link
Contributor Author

KashifSaadat commented Aug 20, 2020

Ah this was a while ago, I should have made a note!

I vaguely recall this was more specific to how we performed Kops node rolling upgrades and manifest updates. I believe as part of a Kops upgrade from v1.14 to v1.15 (including both Kubernetes and the Canal manifest update), after rolling the first master nodes the new Canal manifest was applied and Typha enabled (if specified in the cni spec), but Typha couldn't be scheduled on the old v1.14 nodes. At this point the canal pods have also begun rolling (as the new manifest was applied) and would fail to start because the Typha service is unavailable.

I'd have to re-run the upgrade path to confirm the exact issue I encountered, but fairly certain the nodeSelector should no longer be required any more so we can look to remove it in a future update.

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. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants