- Dec 04, 2017
-
-
Stanislav Makar authored
* Update k8s version to 1.8.4 * Update main.yml
-
Jan Jungnickel authored
* Properly tag instances and subnets with `kubernetes.io/cluster/$cluster_name` This is required by kubernetes to support multiple clusters in a single vpc/az * Get rid of loadbalancer_apiserver_address as it is no longer needed
-
- Nov 30, 2017
-
-
Jean-Marie F authored
* Dynamically retrieve aws_bastion_ami latest reference by querying AWS rather than hard coded * Dynamically retrieve the list of availability_zones instead of needing to have them hard coded * Limit availability zones to first 2, using slice extrapolation function * Replace the need for hardcoded variable "aws_cluster_ami" by the data provided by Terraform * Move ami choosing to vars, so people don't need to edit create infrastructure if they want another vendor image (as suggested by @atoms) * Make name of the data block agnostic of distribution, given there are more than one distribution supported * Add documentation about other distros being supported and what to change in which location to make these changes
-
- Nov 29, 2017
-
-
Matthew Mosesohn authored
-
Steven Hardy authored
* Allow setting --bind-address for apiserver hyperkube This is required if you wish to configure a loadbalancer (e.g haproxy) running on the master nodes without choosing a different port for the vip from that used by the API - in this case you need the API to bind to a specific interface, then haproxy can bind the same port on the VIP: root@overcloud-controller-0 ~]# netstat -taupen | grep 6443 tcp 0 0 192.168.24.6:6443 0.0.0.0:* LISTEN 0 680613 134504/haproxy tcp 0 0 192.168.24.16:6443 0.0.0.0:* LISTEN 0 653329 131423/hyperkube tcp 0 0 192.168.24.16:6443 192.168.24.16:58404 ESTABLISHED 0 652991 131423/hyperkube tcp 0 0 192.168.24.16:58404 192.168.24.16:6443 ESTABLISHED 0 652986 131423/hyperkube This can be achieved e.g via: kube_apiserver_bind_address: 192.168.24.16 * Address code review feedback * Update kube-apiserver.manifest.j2
-
unclejack authored
* Add Contiv support Contiv is a network plugin for Kubernetes and Docker. It supports vlan/vxlan/BGP/Cisco ACI technologies. It support firewall policies, multiple networks and bridging pods onto physical networks. * Update contiv version to 1.1.4 Update contiv version to 1.1.4 and added SVC_SUBNET in contiv-config. * Load openvswitch module to workaround on CentOS7.4 * Set contiv cni version to 0.1.0 Correct contiv CNI version to 0.1.0. * Use kube_apiserver_endpoint for K8S_API_SERVER Use kube_apiserver_endpoint as K8S_API_SERVER to make contiv talks to a available endpoint no matter if there's a loadbalancer or not. * Make contiv use its own etcd Before this commit, contiv is using a etcd proxy mode to k8s etcd, this work fine when the etcd hosts are co-located with contiv etcd proxy, however the k8s peering certs are only in etcd group, as a result the etcd-proxy is not able to peering with the k8s etcd on etcd group, plus the netplugin is always trying to find the etcd endpoint on localhost, this will cause problem for all netplugins not runnign on etcd group nodes. This commit make contiv uses its own etcd, separate from k8s one. on kube-master nodes (where net-master runs), it will run as leader mode and on all rest nodes it will run as proxy mode. * Use cp instead of rsync to copy cni binaries Since rsync has been removed from hyperkube, this commit changes it to use cp instead. * Make contiv-etcd able to run on master nodes * Add rbac_enabled flag for contiv pods * Add contiv into CNI network plugin lists * migrate contiv test to tests/files Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * Add required rules for contiv netplugin * Better handling json return of fwdMode * Make contiv etcd port configurable * Use default var instead of templating * roles/download/defaults/main.yml: use contiv 1.1.7 Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
-
Di Xu authored
-
Matthew Mosesohn authored
-
- Nov 28, 2017
-
-
Christopher Randles authored
-
Matthew Mosesohn authored
-
Spencer Smith authored
Bump flannel version to v0.9.1
-
Spencer Smith authored
Disable initializers feature gate if istio is not used
-
Spencer Smith authored
Additional flush for static pod master upgrade
-
Christopher Randles authored
-
Kevin Lefevre authored
Move RS to deployment so no need to take care of the revision history limits : - Delete the old RS - Make Calico manifest a deployment - move deployments to apps/v1beta2 API since Kubernetes 1.8
-
- Nov 23, 2017
-
-
Bogdan Dobrelya authored
* Defaults for apiserver_loadbalancer_domain_name When loadbalancer_apiserver is defined, use the apiserver_loadbalancer_domain_name with a given default value. Fix unconsistencies for checking if apiserver_loadbalancer_domain_name is defined AND using it with a default value provided at once. Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru> * Define defaults for LB modes in common defaults Adjust the defaults for apiserver_loadbalancer_domain_name and loadbalancer_apiserver_localhost to come from a single source, which is kubespray-defaults. Removes some confusion and simplefies the code. Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
-
- Nov 16, 2017
-
-
Tom Denham authored
-
Spencer Smith authored
-
- Nov 15, 2017
-
-
Matthew Mosesohn authored
-
Chad Swenson authored
-
Matthew Mosesohn authored
-
- Nov 14, 2017
-
-
Matthew Mosesohn authored
-
chenhonggc authored
-
Chad Swenson authored
Thought this wasn't required at first but I forgot there's no auto flush at the end of these tasks since the `kubernetes/master` role is not the end of the play.
-
- Nov 13, 2017
-
-
Aivars Sterns authored
-
neith00 authored
* adding mount for kubelet to enable rbd mounts * fix conditionnal variable name
-
Stanislav Makar authored
Closes: #1967
-
Hyunsun Moon authored
-
Günther Grill authored
-
- Nov 12, 2017
-
-
Maxim Krasilnikov authored
-
- Nov 10, 2017
- Nov 09, 2017
-
-
Spencer Smith authored
Master component and kubelet container upgrade fixes
-
Brad Beam authored
Support for disabling apiserver insecure port
-
- Nov 08, 2017
-
-
Spencer Smith authored
provide environment for rkt trust and run with etcd
-
Spencer Smith authored
-
Chad Swenson authored
* Fixes an issue where apiserver and friends (controller manager, scheduler) were prevented from restarting after manifests/secrets are changed. This occurred when a replaced kubelet doesn't reconcile new master manifests, which caused old master component versions to linger during deployment. In my case this was causing upgrades from k8s 1.6/1.7 -> k8s 1.8 to fail * Improves transitions from kubelet container to host kubelet by preventing issues where kubelet container reappeared during the deployment
-
- Nov 06, 2017
-
-
Chad Swenson authored
This allows `kube_apiserver_insecure_port` to be set to 0 (disabled). It's working, but so far I have had to: 1. Make the `uri` module "Wait for apiserver up" checks use `kube_apiserver_port` (HTTPS) 2. Add apiserver client cert/key to the "Wait for apiserver up" checks 3. Update apiserver liveness probe to use HTTPS ports 4. Set `kube_api_anonymous_auth` to true to allow liveness probe to hit apiserver's /healthz over HTTPS (livenessProbes can't use client cert/key unfortunately) 5. RBAC has to be enabled. Anonymous requests are in the `system:unauthenticated` group which is granted access to /healthz by one of RBAC's default ClusterRoleBindings. An equivalent ABAC rule could allow this as well. Changes 1 and 2 should work for everyone, but 3, 4, and 5 require new coupling of currently independent configuration settings. So I also added a new settings check. Options: 1. The problem goes away if you have both anonymous-auth and RBAC enabled. This is how kubeadm does it. This may be the best way to go since RBAC is already on by default but anonymous auth is not. 2. Include conditional templates to set a different liveness probe for possible combinations of `kube_apiserver_insecure_port = 0`, RBAC, and `kube_api_anonymous_auth` (won't be possible to cover every case without a guaranteed authorizer for the secure port) 3. Use basic auth headers for the liveness probe (I really don't like this, it adds a new dependency on basic auth which I'd also like to leave independently configurable, and it requires encoded passwords in the apiserver manifest) Option 1 seems like the clear winner to me, but is there a reason we wouldn't want anonymous-auth on by default? The apiserver binary defaults anonymous-auth to true, but kubespray's default was false.
-
Aivars Sterns authored
-