Commit Graph

1269 Commits

Author SHA1 Message Date
Rohith 4531384649 This PR attempts to solve two issues
a) The current implementation use's a static kubelet which doesn't not conform to the Node authorization mode (i.e. system:nodes:<nodename>)
b) As present the kubeconfig is static and reused across all the masters and nodes

The PR firstly introduces the ability for users to use bootstrap tokens and secondly when enabled ensure the kubelets for the masters as have unique usernames.  Note, this PR does not attempt to address the distribution of the bootstrap tokens themselves, that's for cluster admins. One solution for this would be a daemonset on the masters running on hostNetwork and reuse dns-controller to annotated the pods and give as the DNS

Notes:
- the master node do not use bootstrap tokens, instead given they have access to the ca anyhow, we generate certificates for each.
- when bootstrap token is not enabled the behaviour will stay the same; i.e. a kubelet configuration brought down from the store.
- when bootstrap tokens are enabled, the Nodes sit in a timeout loop waiting for the configuration to appear (by third party).
- given the nodeup docker and manifests builders are executed before the kubelet builder, the assumption here is a unit file kicks of a custom container to bootstrap the rest.
- the current firewalls on between the master and nodes are fairly open so no need to open ports between the two
- much of the work was ported from @justinsb PR [here](https://github.com/kubernetes/kops/pull/4134/)
- we add a very presumptuous server and client certificates for use with an authorizer (node-bootstrap-internal.dns_zone)

I do have an additional PR which performs the entire thing. The process being a node_authorizer which runs on the master nodes via a daemonset, the service implements a series of authorizers (i.e. alwaysallow, aws, gce etc). For aws, the process is similar to how vault authorizes nodes [here](https://www.vaultproject.io/docs/auth/aws.html). Nodeup no then calls out to the node_authorizer on bootstrap and provisions the kubelet.
2018-06-11 09:56:32 +01:00
k8s-ci-robot 02daea62ae
Merge pull request #5119 from ripta/avpc-custom-image
Amazon VPC CNI: Upgrade to v1.0 and Allow Custom Images
2018-06-10 22:40:27 -07:00
k8s-ci-robot 8a470580ef
Merge pull request #5250 from gambol99/verify_admissions
Admission Controller Validation
2018-06-10 21:54:10 -07:00
k8s-ci-robot 7a004d7c10
Merge pull request #5207 from AliyunContainerService/loadBalancer
implement LoadBalancer task for ALICloud
2018-06-10 21:54:00 -07:00
k8s-ci-robot aef1afbc02
Merge pull request #4724 from gambol99/custom_kube_dns
Customize KubeDNS
2018-06-10 18:52:01 -07:00
k8s-ci-robot 1b29b54d5b
Merge pull request #4171 from rifelpet/rifelpet_iam
Add support for external IAM Instance Profiles
2018-06-10 14:54:00 -07:00
k8s-ci-robot a57a6de4a8
Merge pull request #5139 from justinsb/fix_subnet_egress_indexing
Fix issue where we assumed that private zone were in order
2018-06-09 09:27:01 -07:00
Peter Rifel 5f0b63100d Add support for using existing instance profiles 2018-06-08 10:33:09 -07:00
chrislovecnm 9cbc81fe33 adding API for IAM Profile 2018-06-08 09:51:26 -07:00
Andrew Sy Kim 5004652505
Revert "digitalocean: don't set --cloud-provider=external on control plane starting v1.10" 2018-06-08 11:41:07 -04:00
Justin Santa Barbara 2b4888a596 Delay overlay2 to 1.11
Gives us more time to consider image support.
2018-06-07 17:11:19 -04:00
Justin Santa Barbara ef5936d8b5 Support overlay2 in docker
We also have to stop passing the flag on ContainerOS, because it's set
in /etc/docker/default.json and it's now an error to pass the flag.

That in turn means we move those options to code, which are the last of
those legacy config options.  (We still have a few tasks declaratively
defined though)
2018-06-07 17:11:11 -04:00
Tomas Virgl 6c9a948ebc Enable override bind address for kube-proxy.
When using kube-proxy in userspace mode, you have to bind to primary ip address of underlying machine.
2018-06-06 19:46:17 -07:00
Tomas Virgl 874e2a514f Override hostname with '@aws' only if hostname override is not specified. 2018-06-06 13:54:19 -07:00
k8s-ci-robot 1fe29cf962
Merge pull request #5277 from gambol99/misspelling
Verify Spelling
2018-06-06 08:57:26 -07:00
Rohith 67296c2db9 - fixing up the spelling mistakes found 2018-06-06 10:03:51 +01:00
LilyFaFa 595aabb355 Modify error handling on loadbalancer task of ALICloud and resolve the conflict with the upstream branch 2018-06-06 09:53:03 +08:00
LilyFaFa a8f91dc3ff implement LoadBalancer task for ALICloud 2018-06-06 09:46:17 +08:00
Ripta Pasay 3610bf20d0 Upgrade default Amazon VPC Networking image to v1.0.0 2018-06-05 15:39:36 -07:00
k8s-ci-robot c3a5477b4a
Merge pull request #5270 from rdrgmnzs/fix_additionalCIDR
Implement AdditionalCIDR configuration.
2018-06-05 12:19:56 -07:00
k8s-ci-robot 37f0766e25
Merge pull request #5271 from gambol99/validate_ig_hooks
Validate InstanceGroup Hooks
2018-06-05 07:08:55 -07:00
Rohith cae29aaf92 - fixed the error check; should return straight aware 2018-06-05 13:55:51 +01:00
Rohith 1e88487876 Validate FileAssets
The current implementation doesnt appear to validate the fileAssets on the instanceGroups, just the cluster spec.

- validating the fileAssets per instancegroup
2018-06-05 11:20:13 +01:00
Rohith 831b2759a0 Validate InstanceGroup Hooks
- adding the validation code to the instancegroup hooks
- fixes https://github.com/kubernetes/kops/issues/4766
2018-06-05 11:16:01 +01:00
Rohith 1909210260 Admission Controller Validation
Since v1.10.0 the --admission-control is being deprecated in favour or --enable-admission-plugin, we should enforce the behaviour in the validation code

I did a fix for this a [moment ago](https://github.com/kubernetes/kops/pull/5248), but yes, enforcement is a better option than trying to support both
2018-06-05 10:39:03 +01:00
Rodrigo Menezes 4a131f2a50 Implement AdditionalCIDR configuration on non-shared VPCs 2018-06-05 01:12:06 -07:00
Ripta Pasay e87c9c8d6e Regenerate apimachinery 2018-06-04 18:49:54 -07:00
Ripta Pasay ebe8889234 Add ImageName to AmazonVPCNetworkingSpec to allow configurable plugin images 2018-06-04 18:49:22 -07:00
k8s-ci-robot 6741158c97
Merge pull request #5056 from povilasv/gce-ssh
Add public ssh keys for GCE
2018-06-03 10:59:53 -07:00
k8s-ci-robot 1157789a63
Merge pull request #4723 from sroylance/testing-windows
hacks for tests on windows
2018-06-02 11:22:57 -07:00
k8s-ci-robot 775b877a10
Merge pull request #5197 from rdrgmnzs/heptio_authenticator
Setup heptio authenticator
2018-06-01 07:12:55 -07:00
k8s-ci-robot 8f91621687
Merge pull request #5231 from ihoegen/auth-token-webhook
Add AuthenticationTokenWebhook flag
2018-05-31 23:56:57 -07:00
Justin Santa Barbara 53bf6ea6ad Replace deprecated flags: address -> insecure-bind-address 2018-05-31 23:23:33 -04:00
Ian Hoegen 1d9c446499 Add AuthenticationTokenWebhook flag 2018-05-31 20:14:56 -07:00
Justin Santa Barbara 9a49ed051a Fix typo: "to user" -> "to use" 2018-05-31 11:58:13 -07:00
Ripta Pasay d9252a1cab Incorporate admission plugin flags when determining whether an admission controller is enabled or not 2018-05-29 16:42:23 -07:00
Ripta Pasay dfa4190cb5 Add --enable-admission-plugins API server flag, deprecating --admission-control in v1.10 2018-05-29 16:42:23 -07:00
k8s-ci-robot 4e26c432ed
Merge pull request #5167 from zachaller/master
Kuberenets 1.11 has deprecated ExternalID this replaces it with Provi…
2018-05-26 22:45:31 -07:00
k8s-ci-robot ad60dbd63d
Merge pull request #5178 from dims/patch-1
Add a FIXME and don't log about insecure ports
2018-05-26 14:22:41 -07:00
k8s-ci-robot 2bf7b20a9f
Merge pull request #5160 from AdamDang/patch-3
Typo fix: attatch->attach
2018-05-26 14:22:31 -07:00
Justin Santa Barbara 73eb8270b7 Create override for etcd-manager image 2018-05-26 12:48:55 -07:00
k8s-ci-robot e323fa918f
Merge pull request #5126 from justinsb/optional_etcd_manager
Support (optional) etcd-manager
2018-05-25 15:45:32 -07:00
Justin Santa Barbara ba87c36f73 Support (optional) etcd-manager 2018-05-25 16:01:22 -04:00
Davanum Srinivas 3e075fcab5
Add a FIXME and don't log about insecure ports
Thanks to @craigtracey for spotting this.
2018-05-25 09:35:06 -07:00
k8s-ci-robot 382b1ca895
Merge pull request #5155 from aleerizw/expose-streaming-connection-idle-timeout
Expose streaming connection idle timeout
2018-05-24 09:46:32 -07:00
Rodrigo Menezes 1fa2ae8d9f Add apimachinery 2018-05-23 18:31:25 -07:00
Rodrigo Menezes 5ce8f9e712 Setup heptio authenticator 2018-05-23 17:48:33 -07:00
k8s-ci-robot f7243a933b
Merge pull request #5123 from justinsb/harmonize_override_and_set_cluster
Unify create-create overrides and set-cluster fields
2018-05-19 12:56:50 -07:00
k8s-ci-robot 80c692fa1a
Merge pull request #5143 from rajatjindal/fix-drain
set default GracePeriodSeconds to -1 when draining nodes
2018-05-17 04:45:50 -07:00
Zach Aller 40373d983d Update bazel. 2018-05-16 14:33:54 -05:00