run etcd, kube services in container

Registered by Hua Wang

As recommanded in [1], we should run etcd, kube services and flannel in containers.

[1] https://github.com/GoogleCloudPlatform/kubernetes/blob/release-1.0/docs/getting-started-guides/scratch.md#selecting-images

#####################################################################
strigazi @ Fri Aug 11 07:57:12 UTC 2017

Use system containers based on fedora rawhide from projectatomic [1]. Until the fedoraproject updated the tags properly we mirror our containers in [2]. System containers are meant to be drop in replacements of the fedora kubernetes binaries. The Dockerfiles live in projectatomic's repo [1] and changes that affect magnum too should go there.

TODO:
* build the images in openstack infra and store them as tarballs. So that users can fetch images build by the CI.
* investigate if for our tests we can deploy a registry in devstack and serve the image from there.
#####################################################################

Blueprint information

Status:
Complete
Approver:
Spyros Trigazis
Priority:
Low
Drafter:
Hua Wang
Direction:
Approved
Assignee:
Mathieu Velten
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Spyros Trigazis
Completed by
Spyros Trigazis

Related branches

Sprints

Whiteboard

---
strigazi on Mon Oct 23 16:31:49 UTC 2017
This blueprint was completed in pike.
---
(egor)@Hua: just to clarify we are planning to containerize only Kub services, it means each host will run etcd (masters only), flannel (or any network provider) and kublet. Right?

Useful links:
http://kubernetes.io/v1.1/docs/getting-started-guides/docker-multinode.html

Gerrit topic: https://review.openstack.org/#q,topic:master-network-services,n,z

Addressed by: https://review.openstack.org/240818
    [WIP] Add Kubernetes UI

Gerrit topic: https://review.openstack.org/#q,topic:bp/run-kube-as-container,n,z

Addressed by: https://review.openstack.org/249503
    Run etcd and flannel in container

Addressed by: https://review.openstack.org/250999
    Add docker-bootstrap

Addressed by: https://review.openstack.org/244907
    [WIP] Add Kubernetes podmaster

Addressed by: https://review.openstack.org/251158
    [WIP] Move Kubernetes apiserver to the container

Addressed by: https://review.openstack.org/251166
    [WIP] Move Kubernetes proxy to the container

Addressed by: https://review.openstack.org/267235
    Update kube-ui to v4

Addressed by: https://review.openstack.org/394453
    Move kube-apiserver to a container.

Addressed by: https://review.openstack.org/397670
    Move kube-apiserver to a pod container.

Addressed by: https://review.openstack.org/397668
    Use Kubernetes config to launch services pods.

Addressed by: https://review.openstack.org/400593
    Change gate Fedora Atomic image to the one recommended in the doc.

Addressed by: https://review.openstack.org/410856
    [WIP] Move kubelet to a container

Addressed by: https://review.openstack.org/485224
    k8s: Fix apiserver configuration

Addressed by: https://review.openstack.org/484308
    Move all files required by k8s daemons in /etc/k8s

Gerrit topic: https://review.openstack.org/#q,topic:k8s-in-container-wip,n,z

Addressed by: https://review.openstack.org/487943
    Launch k8s scheduler & controller-manager as system containers

Addressed by: https://review.openstack.org/491740
    Add a kube_tag label to control the k8s containers to pull

Addressed by: https://review.openstack.org/487357
    Use atomic containers for kubelet & apiserver

Addressed by: https://review.openstack.org/488443
    Launch kube-proxy as a system container

Addressed by: https://review.openstack.org/496229
    ci: Add redirection from /v2 to /idenity/v2

Gerrit topic: https://review.openstack.org/#q,topic:bp/swarm-mode-support,n,z

Addressed by: https://review.openstack.org/497239
    Add remaining release notes

Gerrit topic: https://review.openstack.org/#q,topic:bug/1726482,n,z

Addressed by: https://review.openstack.org/514604
    k8s_atomic: Remove kubelet and kube-proxy from master

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.