Container Infrastructure Management Service for OpenStack
Go to file
Spyros Trigazis 2329cb7fb4 k8s: Fix kubelet, add RBAC and pass e2e tests
Due to a few several small connected patches for the
fedora atomic driver, this patch includes 4 smaller patches.

Patch 1:
k8s: Do not start kubelet and kube-proxy on master

Patch [1], misses the removal of kubelet and kube-proxy from
enable-services-master.sh and therefore they are started if they
exist in the image or the script will fail.

https://review.openstack.org/#/c/533593/
Closes-Bug: #1726482

Patch 2:
k8s: Set require-kubeconfig when needed

From kubernetes 1.8 [1] --require-kubeconfig is deprecated and
in kubernetes 1.9 it is removed.

Add --require-kubeconfig only for k8s <= 1.8.

[1] https://github.com/kubernetes/kubernetes/issues/36745

Closes-Bug: #1718926

https://review.openstack.org/#/c/534309/

Patch 3:
k8s_fedora: Add RBAC configuration

* Make certificates and kubeconfigs compatible
  with NodeAuthorizer [1].
* Add CoreDNS roles and rolebindings.
* Create the system:kube-apiserver-to-kubelet ClusterRole.
* Bind the system:kube-apiserver-to-kubelet ClusterRole to
  the kubernetes user.
* remove creation of kube-system namespaces, it is created
  by default
* update client cert generation in the conductor with
  kubernetes' requirements
* Add --insecure-bind-address=127.0.0.1 to work on
  multi-master too. The controller manager on each
  node needs to contact the apiserver (on the same node)
  on 127.0.0.1:8080

[1] https://kubernetes.io/docs/admin/authorization/node/

Closes-Bug: #1742420
Depends-On: If43c3d0a0d83c42ff1fceffe4bcc333b31dbdaab
https://review.openstack.org/#/c/527103/

Patch 4:
k8s_fedora: Update coredns config to pass e2e

To pass the e2e conformance tests, coredns needs to
be configured with POD-MODE verified. Otherwise, pods
won't be resolvable [1].

[1] https://github.com/coredns/coredns/tree/master/plugin/kubernetes

https://review.openstack.org/#/c/528566/
Closes-Bug: #1738633

Change-Id: Ibd5245ca0f5a11e1d67a2514cebb2ffe8aa5e7de
2018-02-08 13:35:00 +00:00
api-ref/source doc: Use os_distro instead of os-distro 2018-01-11 12:08:10 +00:00
contrib Allow labels on cluster create 2017-08-21 12:27:52 +00:00
devstack Merge "Add send_cluster_metrics configuration parameter" 2018-02-07 14:54:33 +00:00
doc k8s: Fix kubelet, add RBAC and pass e2e tests 2018-02-08 13:35:00 +00:00
etc/magnum Register default magnum service and stat policies in code 2017-10-23 02:57:29 +00:00
magnum k8s: Fix kubelet, add RBAC and pass e2e tests 2018-02-08 13:35:00 +00:00
playbooks Remove broken job magnum-non-functional-tox-migration 2018-01-30 14:26:09 +01:00
releasenotes Support accessing all clusters/templates across projects 2018-02-07 20:30:35 +00:00
specs Fix wrong references url to right 2017-06-08 14:20:12 +08:00
tools Move cover.sh to the tools directory 2017-03-20 19:55:05 +08:00
.coveragerc Cleanup coverage configuration 2016-08-28 21:11:07 +01:00
.gitignore Implement basic policy module in code 2017-10-19 08:33:58 +07:00
.gitreview Update .gitreview for project rename 2015-03-28 00:20:40 +00:00
.mailmap Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
.testr.conf Remove minion dependency on master 2016-03-04 07:41:12 -05:00
.zuul.yaml Remove broken job magnum-non-functional-tox-migration 2018-01-30 14:26:09 +01:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:45 +00:00
HACKING.rst Add a hacking rule for string interpolation at logging 2017-07-15 14:49:45 +08:00
LICENSE Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
README.rst Update Documentation link in README 2017-07-12 13:02:26 +00:00
babel.cfg Initial commit from github (squashed) 2014-11-18 09:23:37 -05:00
functional_creds.conf.sample Use keystone v3 for functional tests 2016-12-05 15:21:09 +01:00
requirements.txt Updated from global requirements 2018-01-02 07:00:21 +00:00
setup.cfg Remove intree magnum tempest plugin 2017-12-14 15:48:47 +05:30
setup.py Updated from global requirements 2017-03-07 01:58:36 +00:00
test-requirements.txt Remove intree magnum tempest plugin 2017-12-14 15:48:47 +05:30
tox.ini Add app.wsgi to target of pep8 2017-11-18 01:27:34 -08:00

README.rst

Team and repository tags

image

Magnum

Magnum is an OpenStack project which offers container orchestration engines for deploying and managing containers as first class resources in OpenStack.

For more information, please refer to the following resources: