-
Notifications
You must be signed in to change notification settings - Fork 266
Update to Kubernetes 1.6 and Bootkube 0.4.0 #246
Conversation
config.tf
Outdated
kubednsmasq = "gcr.io/google_containers/kube-dnsmasq-amd64:1.4.1" | ||
dnsmasq_metrics = "gcr.io/google_containers/dnsmasq-metrics-amd64:1.0.1" | ||
exechealthz = "gcr.io/google_containers/exechealthz-amd64:1.2" | ||
kubedns = "gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1" |
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.
Can we also bump heapster from 1.3.0-beta.0 to 1.3.0; https://github.com/kubernetes/kubernetes/blob/v1.6.1/cluster/addons/cluster-monitoring/standalone/heapster-controller.yaml
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.
Thanks :) Addressed.
|
Note: also need to take a look at kubernetes-retired/bootkube#434. |
@Quentin-M and also kubernetes-retired/bootkube#421 <- this includes anti-affinity for critical control plane components |
@squat This one should be implemented already. I used git blame on templates.go - so anything that is already merged should be there. |
@@ -43,7 +49,7 @@ spec: | |||
- --service-account-key-file=/etc/kubernetes/secrets/service-account.pub | |||
- --client-ca-file=/etc/kubernetes/secrets/ca.crt | |||
- --authorization-mode=RBAC | |||
- --runtime-config=rbac.authorization.k8s.io/v1alpha1 | |||
- --runtime-config=rbac.authorization.k8s.io/v1beta1 |
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.
this should be unnecessary since all beta API groups are enabled by default
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.
Smart! I didn't know that. Let me remove that line then.
- --insecure-port=8080 | ||
- --kubelet-client-certificate=/etc/kubernetes/secrets/apiserver.crt | ||
- --kubelet-client-key=/etc/kubernetes/secrets/apiserver.key | ||
- --runtime-config=api/all=true |
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.
We should remove this since we are not enabling any alpha API groups and do not want to unknowingly depend on them.
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 agree. I simply copy-pasted whatever is in bootkube here without modifications but for templating purposes. Generally want to stay as close as their manifests as possible. Do you think we should still drop it?
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.
@aaronlevy Is there a specific reason this is here?
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 I think so. We had a story that explicitly asks to disable allowing all alpha features by default. If a user really wants to use alpha API features then they can always modify this daemonset.
https://github.com/coreos-inc/tectonic/blob/master/docs-internal/alpha-features.md
https://www.pivotaltracker.com/story/show/137556789
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.
Only exists for flexibility - but I am 100% for removing this.
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.
We may need to explicitly allow TPRs though -- that is still technically an alpha feature
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.
@aaronlevy TPR is v1beta1
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.
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.
Addressed.
/cc @amrutac. Pinged you with credentials to a Kubernetes 1.6 deployment to witness the Console breakages. Tell me if there is anything I can do to help you! |
- /var/lock/api-server.lock | ||
- /hyperkube | ||
- apiserver | ||
- --admission-control=NamespaceLifecycle,ServiceAccount |
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.
We should update this to the upstream recommended list: kubernetes-retired/bootkube#438
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.
Added issue to track this generally: #249
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.
Addressed.
Setting the "do not merge" label as long as we don't have a working console. |
Updated Console for Kubernetes 1.6 with the early bugs I noticed on Sunday.
Re-testing. Ping me for credentials if you wish. |
- key: "CriticalAddonsOnly" | ||
operator: "Exists" | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
Can we just use operator: "Exists"
here?
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
- key: "CriticalAddonsOnly" | ||
operator: "Exists" | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
operator: Exists
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
- key: "CriticalAddonsOnly" | ||
operator: "Exists" | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
operator: Exists
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
hostNetwork: true | ||
tolerations: | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
operator: Exists
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
- key: "CriticalAddonsOnly" | ||
operator: "Exists" | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
operator: Exists
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
- key: "CriticalAddonsOnly" | ||
operator: "Exists" | ||
- key: "node-role.kubernetes.io/master" | ||
operator: Equal |
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.
operator: Exists
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.
Was just using what you guys have in https://github.com/kubernetes-incubator/bootkube/blob/85036e7/pkg/asset/internal/templates.go. Fixed.
Have to wait for flannel-io/flannel#681. |
I opened kubernetes-retired/bootkube#451 to track changing to |
Tentatively setting this as do-not-merge, as long as it is in WIP state. |
- Critical components to run with other critical components - Avoid running two replicas of the same component on the same node
Just bumped flannel and fixed a bunch of other stuff. Tested quite a bit by a few people on AWS - other platforms are left untested. Can we still merge and then have @squat test/follow-up later as necessary please? We need all platforms and everybody to start using it actively. We can't afford waiting until release day. |
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.
Did a build of this branch myself.
Works nicely, didn't notice any anomalies on a quick glance.
Let's get this in and keep testing around it.
THANK YOU! 💯 |
Also tested this myself and it is looking great, thanks!!! I also quickly tested this on openstack/neutron and openstack/nova which worked fine with a minor fix on the nova-side, that I'll file as a separate PR. |
Good evening,
This PR updates bootkube (0.4.0), its manifests (Kubernetes 1.6.1), introduces liveness probes to CM/Scheduler and add tolerations/anti-affinity for the critical components to run next to each other but avoid running multiple times on the same node.