Skip to content
This repository has been archived by the owner on Jan 4, 2022. It is now read-only.

Fix dev workflow #223

Merged
merged 1 commit into from
Nov 27, 2017
Merged

Fix dev workflow #223

merged 1 commit into from
Nov 27, 2017

Conversation

alban
Copy link
Member

@alban alban commented Nov 26, 2017

Add --hyperkube-tag (or -t) on kube-spawn create to specify which hyperkube Docker image to use. This is useful to compile different versions of Kubernetes and test them in parallel. doc/dev-workflow.md explains in more details how to use it.

kube-spawn will start a registry container and push the hyperkube image there under the name 10.22.0.1:5000/hyperkube-amd64:$TAG. Then, kubeadm will pick that image.

Use the unifiedControlPlaneImage option in the kubeadm configuration file (>= 1.8) in addition to the old environment variable $KUBE_HYPERKUBE_IMAGE (< 1.8). This means --dev cannot be used anymore on 1.7 branches, but the 1.7 releases still work so it should not be a problem.

The dev workflow is now documented in doc/dev-workflow.md

Fixes #188


TODO

/cc @blixtra

@@ -13,10 +13,12 @@ apiServerExtraArgs:
controllerManagerExtraArgs:
kubernetesVersion: {{.KubernetesVersion}}
schedulerExtraArgs:
unifiedControlPlaneImage: 10.22.0.1:5000/hyperkube-amd64:{{.HyperkubeTag}}
Copy link
Member Author

Choose a reason for hiding this comment

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

TODO: unifiedControlPlaneImage should only be set with --dev

@alban alban force-pushed the alban/fix-dev-workflow branch 2 times, most recently from 7243238 to e4ca2ab Compare November 26, 2017 16:18
@alban alban requested review from dongsupark November 26, 2017 16:33
@alban alban force-pushed the alban/fix-dev-workflow branch 2 times, most recently from 5fe34f6 to ef7982a Compare November 26, 2017 20:02
@alban
Copy link
Member Author

alban commented Nov 26, 2017

Description updated. PR ready for review.

@alban alban force-pushed the alban/fix-dev-workflow branch from ef7982a to bfd70e1 Compare November 26, 2017 20:17
Copy link
Member

@dongsupark dongsupark left a comment

Choose a reason for hiding this comment

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

Tested, and can confirm that this PR fixes the version mismatch issue of dev workflow.
Thanks!


### Limitations

The kyperkube image contains the api server, the controller manager and the scheduler but not `kubeadm`.
Copy link
Contributor

Choose a reason for hiding this comment

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

s/kyperkube/hyperkube

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed


This article describes a step-by-step example of workflow that a Kubernetes developer might follow when patching Kubernetes.

For the purpose of the article, we will write a new [admission controler](https://kubernetes.io/docs/admin/admission-controllers/) named `DenyAttach` that inconditionally deny all attaching to a container. The end result will be:
Copy link
Contributor

Choose a reason for hiding this comment

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

s/deny/denies?

Copy link
Member Author

Choose a reason for hiding this comment

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

fixed

@robertgzr
Copy link
Contributor

really cool 👍

Add --hyperkube-tag (or -t) on kube-spawn create to specify which
hyperkube Docker image to use. This is useful to compile different
versions of Kubernetes and test them in parallel. doc/dev-workflow.md
explains in more details how to use it.

kube-spawn will start a registry container and push the hyperkube image
there under the name 10.22.0.1:5000/hyperkube-amd64:$TAG. Then, kubeadm
will pick that image.

Use the unifiedControlPlaneImage option in the kubeadm configuration
file (>= 1.8) in addition to the old environment variable
$KUBE_HYPERKUBE_IMAGE (< 1.8). This means --dev cannot be used anymore
on 1.7 branches, but the 1.7 releases still work so it should not be a
problem.

The dev workflow is now documented in doc/dev-workflow.md

Fixes #188
@alban alban force-pushed the alban/fix-dev-workflow branch from bfd70e1 to a050ccf Compare November 27, 2017 11:04
@alban alban self-assigned this Nov 27, 2017
@alban alban merged commit 4b9ff87 into master Nov 27, 2017
@alban
Copy link
Member Author

alban commented Nov 27, 2017

Thanks for the reviews. I merged it.

To improve further the documentation, we could do the following:

  • add a schema showing the workflow
    • explaining how the hyperkube image is tagged and is pushed between the registries
    • in the two scenarios (local build and fetching hyperkube image manually)

@alban alban deleted the alban/fix-dev-workflow branch November 29, 2017 14:47
@dongsupark dongsupark added this to the v0.2.1 milestone Dec 4, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants