Commit Graph

583 Commits

Author SHA1 Message Date
Justin SB 10a7f9afb0
Move NTP and misc package initialization to code
Paring down the nodeup portion of gobindata
2019-07-19 07:34:44 -04:00
Thomas Jackson ea61fb8de0 Replace behavior for aws hostnameOverride
If the cluster's VPC includes DHCP options the local-hostname includes
the DHCP zone instead of the private DNS name from AWS (which is what
k8s uses regardless of flags). This patch simply makes the
hostnameOverride implementation match by using the AWS api to get the
private DNS name

Related to #7172
2019-07-17 10:30:07 -07:00
Kubernetes Prow Robot dd6b0314fc
Merge pull request #6897 from vainu-arto/set-priority-for-static-pods
Set priority for static pods
2019-07-12 00:41:07 -07:00
Thomas Jackson 270a028c94 Use NodeAuthorizer config options instead of soely hard-codes
Without this patch the timeout is 5m and the interval is 10m --
hard-coded with no mechanism to change, even though the config struct
already had a timeout option (which was completely unused)
2019-07-09 09:48:43 -07:00
Kubernetes Prow Robot 5df1b64301
Merge pull request #7218 from appvia/apimachinery
goimports update
2019-07-09 02:40:13 -07:00
Justin SB 5f5f37a72c
Remove kube-proxy resource-container flag
Removed in https://github.com/kubernetes/kubernetes/pull/78294

(A k/k breaking change: `--resource-container=""` is now the default!)
2019-07-08 09:59:52 -04:00
Kashif Saadat 2b61ace49c goimports update 2019-07-03 16:43:20 +01:00
Kubernetes Prow Robot a8e7109129
Merge pull request #7040 from spotinst/feature-spotinst-ocean
Spotinst: New instance group type: Ocean
2019-06-20 12:24:10 -07:00
Kubernetes Prow Robot 1f98ecf8a3
Merge pull request #7124 from srikiz/UnitTestKubeProxy
[Unit Tests] Added unit test for kube proxy builder
2019-06-20 11:31:01 -07:00
Kubernetes Prow Robot 96704f24cd
Merge pull request #7103 from austinmoore-/egress-proxy-for-etcd-manager
Egress proxy for etcd manager
2019-06-20 11:30:49 -07:00
Kubernetes Prow Robot 1798ddfa0e
Merge pull request #7084 from mazzy89/flatcar_support
Flatcar support
2019-06-20 06:38:48 -07:00
Austin Moore ccced9901a
Add test for skipInstall 2019-06-12 14:16:11 -04:00
Austin Moore de339bf72d
Add configuration to skip docker installs 2019-06-12 14:16:11 -04:00
Srikanth cdb18bd063 Update BUILD.bazel file 2019-06-10 08:25:22 -05:00
Srikanth 8b9a286dd5 Format the unit test per gofmt 2019-06-10 00:06:56 -05:00
Srikanth b2b7756326 Add initial tests for kube_proxy 2019-06-07 15:31:39 -05:00
Austin Moore 67d9f5f190
Move getProxyEnvVars into a util package 2019-06-05 15:59:19 -04:00
liranp 80020052d3
feat(spotinst): new instance group type: ocean 2019-06-03 12:38:46 +03:00
Salvatore Mazzarino c7381f9a34 Flatcar support
Signed-off-by: Salvatore Mazzarino <dev@mazzarino.cz>
2019-05-31 12:20:27 +02:00
Jesse Haka 60756136c8 Add Debian 10 (buster) support 2019-05-26 15:34:39 +03:00
Michael Frister 691c459ae6 Fix Docker not being installed on Ubuntu 16.04
This only affects the default Docker version for 1.12 (18.06.3).
2019-05-14 10:25:49 +02:00
Justin SB fe487df586
Use klog logging from 1.15
klog can now support logging both to a file and to streams, so we get the output both in docker & logfiles.

A few gotchas:

* The output previously was all on stdout, now it on stderr.  That is more correct
* If something writes to stdout or stderr outside of klog, it will no longer end up in the logfile.
* There's some oddities still to be ironed out about the flag syntax https://github.com/kubernetes/klog/issues/60
2019-05-10 00:17:30 -04:00
Arto Jantunen 48974521e1 Set priority classes for static pods
For the master pods (apiserver, controller manager, scheduler) this is
unlikely to ever matter (the masters aren't expected to run out of
resources and need to evict things) but evictions of kube-proxy from worker
nodes are easy to trigger in clusters with PodPriority enabled. Since these
are static pods the configuration is also somewhat difficult to change.
2019-05-09 16:03:08 +03:00
Justin SB ba9a4afc43
apigroup -> kops.k8s.io: Tests & supporting changes
Autogenerated code, docs & test changes

Also a new test for the older "kops" apiGroup, to make sure that
continues to work.
2019-05-06 22:26:29 -04:00
Justin SB 76d03b3f71
Generated files: glog -> klog 2019-05-06 12:56:03 -04:00
Justin SB 3e33ac7682
Change code from glog to klog
We don't call klog.InitFlags yet, because that will cause a flag
redefinition error until we get everyone to stop using glog.  That
will happen when we update to k8s 1.13.
2019-05-06 12:54:51 -04:00
Kellan Cummings d0a653b0a5 added flexvolume mount to kube-controller 2019-05-03 14:45:58 -04:00
Kubernetes Prow Robot bea86cb4d9
Merge pull request #6810 from xichengliudui/update-go-const-part6
Using const() defines constants together (part:4)
2019-04-23 19:26:00 -07:00
Kubernetes Prow Robot e497f33104
Merge pull request #6809 from xichengliudui/update-go-const-part5
Using const() defines constants together (part:3)
2019-04-23 06:36:17 -07:00
Justin SB de581b1b64
Switch to golang 1.11.5
For cherry-picking to 1.13

https://github.com/kubernetes/kubernetes/blob/release-1.13/build/build-image/cross/Dockerfile
2019-04-20 17:36:56 -04:00
xichengliudui c02802f36d Using const() defines constants together (part:4) 2019-04-20 05:12:51 -04:00
xichengliudui 16ee9c4342 Using const() defines constants together (part:3) 2019-04-20 05:02:21 -04:00
Kubernetes Prow Robot b91db4f360
Merge pull request #6706 from granular-ryanbonham/apiserver_cpurequest
Add ability to specify cpuRequest for API Server
2019-04-10 08:04:13 -07:00
Justin SB c7b921fe05
Increase apiserver timeout to 45 seconds
Fix #6702

Parallel to upstream issue #71054
2019-04-07 11:55:33 -07:00
Ryan Bonham 8584fd731d Fix type mismatch 2019-03-29 14:32:29 -05:00
Ryan Bonham ac5a2ec2a0 Fix syntax error 2019-03-29 14:19:59 -05:00
Ryan Bonham 67c2f50732 Handle unset KubeAPIServer.CPURequest 2019-03-29 14:07:05 -05:00
Ryan Bonham a75dcdda35 Add Ability to set cpu request for api server 2019-03-29 13:56:21 -05:00
Justin SB 7bd4a7e262
Support download protokube from mirror 2019-03-26 00:45:54 -04:00
Kubernetes Prow Robot 93988d8fdd
Merge pull request #6359 from justinsb/integration_etcd
Enable etcd-manager / etcd3 / etcd-tls in kops 1.12
2019-03-19 10:28:23 -07:00
Justin SB f0241294ac
Refactored out repeated joining code
Thanks for suggestion @chrisz100!
2019-03-19 09:48:16 -07:00
Jesse Haka dab9c1800a add manage sec groups for loadbalancers 2019-03-18 11:27:31 +02:00
Kubernetes Prow Robot 00950767c2
Merge pull request #6564 from usabilla/no-docker-prestart
Remove docker-prestart hook
2019-03-17 23:25:11 -07:00
Kubernetes Prow Robot 3b907c81e4
Merge pull request #5982 from justinsb/create_var_lib_kubelet
Always create /var/lib/kubelet, even in bootstrap mode
2019-03-17 04:12:55 -07:00
Kubernetes Prow Robot 492031d4c7
Merge pull request #6620 from justinsb/followup_6347
Fix some of the docker package names & versions
2019-03-15 09:47:00 -07:00
LilyFaFa 12d54b6a1f support gossip for AliCloud 2019-03-15 15:26:12 +08:00
Justin SB 057c19f8bb
Fix some of the docker package names & versions
Follow up to #6347 - add a test for some of the names based on some
heuristics, and fix some of the problems that popped up.
2019-03-15 00:09:59 -04:00
Kubernetes Prow Robot 16e846d4ce
Merge pull request #6347 from tsuna/master
Add support for Docker 18.09.3.
2019-03-14 20:48:55 -07:00
Justin SB 31f408c978
Support etcd-manager in kops 1.12
In 1.12 (kops & kubenetes):

* We default etcd-manager on
* We default to etcd3
* We default to full TLS for etcd (client and peer)
* We stop allowing external access to etcd
2019-03-14 23:13:06 -04:00
Alex Williams c928b7e6c5
Use EnsureTask for create static pod directory 2019-03-14 12:22:43 +00:00
Justin SB ecbc34153b
Always create /var/lib/kubelet, even in bootstrap mode
Otherwise we end up with a circular dependency where we don't run the
node-authorizer until /var/lib/kubelet has been bind-mounted, but it
can't be bind-mounted until it exists.

This bind-mounting happens on Google's ContainerOS, which is why it
isn't always seen.
2019-03-14 01:07:52 -04:00
Benoit Sigoure e4691cd704 nodeup: Add support for Docker 18.09.3.
Starting from Docker 18.09.0, the Docker distribution has been split in
3 packages: the Docker daemon, the Docker CLI, and for containerd.  This
adds a twist to how to upgrade Docker from the base image as the daemon
and CLI packages must be installed at the same time, otherwise dpkg/rpm
will refuse to upgrade (the new CLI is incompatible with the old package
and the daemon can't be installed without first installing the CLI and
the new containerd, so the upgrade MUST happen in a single transaction).

This code change thus adds the possibility to specify additional packages
to install in the same dpkg/yum transaction, such as the Docker CLI and
containerd in nodeup, and the ability to apply the multi-package upgrade
atomically with dpkg/rpm.

We also use this new mechanism for the SELinux policy on RHEL/CentOS.
2019-03-04 15:39:12 -08:00
Steven McDonald fe249eabbf Remove docker-prestart hook
This breaks networking if Docker is restarted
(https://github.com/kubernetes/kops/issues/6191).

The Docker issue linked in the hook's comments has been closed for
over 3 years, and this workaround has not been used by upstream
Kubernetes for over a year:

  5f9735de53 (diff-af1d281c3ce49f7bfe110f7c64c96fdc)

It therefore seems unlikely that this hook is still necessary.
2019-03-01 13:43:38 +01:00
Kubernetes Prow Robot baf83ab69a
Merge pull request #6343 from sp-joseluis-ledesma/master
set net.ipv4.ip_local_reserved_ports to the KubeAPIServer ServiceNodePortRange parameter on nodeup
2019-02-28 12:50:49 -08:00
Kubernetes Prow Robot 743b319fc9
Merge pull request #6506 from justinsb/chattr_docker_runc_17_03_2
Try using chattr to mark docker-runc as immutable
2019-02-25 07:22:12 -08:00
Justin SB 5d28bed21f
Map docker 18.06.3
Docker 18.06.2 on RHEL/Centos did not actually contain the fix, so we
need 18.06.3.
2019-02-23 17:19:44 -05:00
Justin SB 9bfa0cdd2a
Try using chattr to mark docker-runc as immutable
May be a workaround for CVE-2019-5736, is defense in depth in any case.
2019-02-20 22:26:44 -05:00
Kubernetes Prow Robot 823f769a95
Merge pull request #6492 from justinsb/package_names_for_container_selinux
Fix package name & version for container-selinux
2019-02-20 08:14:50 -08:00
Kubernetes Prow Robot 46599c0908
Merge pull request #6491 from justinsb/overlay2_on_docker_with_17_x
Workaround for overlay2 vs rhel-family docker bug
2019-02-20 05:37:41 -08:00
Justin SB f094d16d0f
Fix package name & version for container-selinux 2019-02-19 21:25:38 -05:00
Justin SB ea4e57145c
Workaround for overlay2 vs rhel-family docker bug
Docker 17.x with rhel-family fails to detect overlay2 correctly, and
need us to pass overlay2.override_kernel_check=true for docker to
correctly detect overlay2 support.
2019-02-19 21:25:12 -05:00
Justin SB 8835dc94eb
Install kubelet config for default centos user
We weren't installing it on centos, which is not particuarly
user-friendly.
2019-02-19 21:24:24 -05:00
Kubernetes Prow Robot 53189d7e6b
Merge pull request #6210 from mmerrill3/feature/kops-4049
Fixing kops-4049
2019-02-18 02:43:00 -08:00
Kubernetes Prow Robot 96b14eaa3b
Merge pull request #6461 from mikesplain/add_jessie_patch
Add jessie patch
2019-02-16 06:24:02 -08:00
Kubernetes Prow Robot f7048cf8fb
Merge pull request #6411 from justinsb/etcd_manager_backport
Support etcd-manager v3, suitable for backporting
2019-02-16 04:21:40 -08:00
mikesplain 54c969c521 Add debian jessie patch for CVE-2019-5736 2019-02-12 08:42:49 -05:00
JuanJo Ciarlante 6bb897d7ac
add Xenial, fix Stretch Version to 18.06.2~ce~3-0~debian (same as for Xenial, Bionic, Stretch) 2019-02-11 19:44:25 -03:00
JuanJo Ciarlante b761a809d5
add 18.06.2 entries instead of replacing 18.06.1 ones 2019-02-11 17:05:12 -03:00
JuanJo Ciarlante 49615d5afa [jjo] update docker-ce 18.06 for CVE-2019-5736
Fixes #6459.

* Update CoreOS, Debian Stretch and Ubuntu Bionic
  docker-ce packages to 18.06.2
2019-02-11 16:26:17 -03:00
Justin SB dd7533398d
Support etcd-manager v3, suitable for backporting
Add etcd-manager v3 in a way that we can safely backport.
2019-01-29 23:51:26 -05:00
Kubernetes Prow Robot ea420dac78
Merge pull request #6351 from cisco-sso/os_full
Kops for Openstack
2019-01-23 10:35:20 -08:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) c9b5911b1c Openstack gopkg updates 2019-01-19 08:41:15 -07:00
Rohith 6c814f3e73 Changes
- removed all the systemd unit creation and use the volume mount code from kubele (SafeFormatAndMount)
- added some documentation to highlight the feature and show how it might be used in both ebs and ephemeral storage
2019-01-18 22:49:54 +00:00
Rohith df2d8dd304 - updating the basil requirements 2019-01-18 22:49:54 +00:00
Rohith 0e155b4c78 - changed tack and making them two separate features for now, one adding additional volumes and two mounting them. This should always allow for user to use epherimal devices as well
- updated the api specs and machinery
- adding the dependecies on the services when the volume mounts are enable (should probably false this if they don't effect the docker filesystem)
2019-01-18 22:49:38 +00:00
Rohith 1b69cea3cb - adding the volumebuilder into the nodeup binary to provision the mapped volumes 2019-01-18 22:45:05 +00:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) d1b7680b10 openstack cloud config monitor section must be a child of loadbalancer 2019-01-18 14:22:04 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) 292b3a8589 Storage config for openstack cloud config 2019-01-18 11:39:39 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) eb256593bc Setting project ID as well in cloudconfig. Using loadbalancerID in cloudconfig. Retrieving instance IP from openstack in protokube. 2019-01-18 10:17:14 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) 4f0169bb79 codegen 2019-01-16 09:30:40 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) b1aaef1885 Proper escaping of openstack environment variables 2019-01-15 14:21:50 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) 4e752ca62d Openstack Environment Variable Mapping 2019-01-15 14:21:41 -07:00
Naresh Kumar Amrutham 6a0bdfda31 fixed comment 2019-01-15 10:04:41 -08:00
Naresh Kumar Amrutham c5c26fe4d2 include dependency container-selinux for docker v17.09 2019-01-15 10:01:28 -08:00
José Luis Ledesma 5064a54602 set net.ipv4.ip_local_reserved_ports to the KubeAPIServer ServiceNodePortRange parameter on nodeup 2019-01-15 16:25:28 +01:00
Naresh Kumar Amrutham f1fb335fbe include docker 18.06.1 missed dependency
container-selinux-2
2019-01-14 14:40:13 -08:00
Justin SB 26bd75aecb
Bulk spelling fixes
Experimenting with my own spelling checker, these are the typos it caught.
2018-12-20 17:43:56 -05:00
mmerrill3 248f08b467 Fixing kops-4049 2018-12-16 11:59:16 -05:00
Bruno 069db70f57 Add Docker 18.06.1 for CentOS and RHEL 7 2018-12-12 11:46:22 +01:00
Rodrigo Menezes 7231c20f60 ExperimentalAllowedUnsafeSysctls has moved to AllowedUnsafeSysctls in k8s 1.11 2018-12-07 00:20:32 -08:00
k8s-ci-robot 0c8e5579f2
Merge pull request #6058 from ripta/max-pods
Set MaxPods when using Amazon VPC CNI Plugin
2018-11-26 12:39:12 -08:00
Ripta Pasay 7ca6ddc9e0 Replace MaxPods in machine type data with InstanceENIs and InstanceIPsPerENI 2018-11-25 22:35:25 +00:00
Seth Pollack cd63aa5429 set max pods when using aws vpc cni
(cherry picked from commit 92fd86f04a)
2018-11-25 20:45:28 +00:00
Justin Santa Barbara 3405ee1382 Create separate certificate for etcd peer authentication
This works around the (very unusual) etcd changes for validation of
peer certificates by DNS lookup, which were introduced in etcd 3.2.

Issue #6024
2018-11-24 22:26:52 -05:00
k8s-ci-robot 4eeba152cd
Merge pull request #6059 from ripta/coreos-logrotate
Set a `dateformat` on logrotate configs on CoreOS
2018-11-24 12:15:43 -08:00
k8s-ci-robot f4012407f8
Merge pull request #4762 from locationlabs/cni-ipvlan-vpc-k8s
Cni ipvlan vpc k8s support
2018-11-21 13:43:19 -08:00
mmerrill3 7c4b2a6a5e Setting the manifest directory when it is required by kubelet 2018-11-19 10:04:44 -05:00
k8s-ci-robot 67f1cc8aba
Merge pull request #5586 from fernandocarletti/feature/flags
Add flag to disable Basic Auth.
2018-11-18 18:01:05 -08:00
mooncake 55425e16ae Fix some typos
Signed-off-by: mooncake <xcoder@tenxcloud.com>
2018-11-10 18:37:57 +08:00
Ripta Pasay 17ad5af417 Set dateformat on logrotate configs
On CoreOS Container Linux, `dateext` is set, which causes log rotation
based on maxsize to not run, when a previous rotation already happened
on the calendar same day.

(cherry picked from commit 585d0a0da42be1eae87fa879b0084d29d77ac605)
2018-11-08 09:04:10 +00:00
Chris Phillips 9792c02b48 gofmt 2018-11-07 08:08:44 -08:00
Chris Phillips 2b9a56f8e6 rename to LyftVPC. Removes all the settings from the NetworkingSpec 2018-11-07 08:08:44 -08:00
Chris Phillips 4d40090c0c adds loopback to list of cni assets. fix gofmt 2018-11-07 08:08:13 -08:00
Chris Phillips 3ec470b240 apimachinery and updated BUILD.bazel for cni-ipvlan-vpc-k8s 2018-11-07 08:08:13 -08:00
Chris Phillips 3a8078763a Adds support for Lyft's cni-ipvlan-vpc-k8s
https://github.com/lyft/cni-ipvlan-vpc-k8s

This cni solution is slightly different in that it doesn't require running a daemonset

It requires:
  * a config file in /etc/cni/net.d
  * the binaries in /opt/cni/bin
  * adding the --node-ip param to the kubelet

This code is modeled after the AmazonVPC cni bits.

I've left the setup of the required subnets as an exercise to the reader.
2018-11-07 08:08:13 -08:00
SataQiu 0550d8d4e8 fix the typos 2018-10-19 17:35:26 +08:00
fernando.carletti 4b27e6c8ee
Add flag to disable Basic Auth. 2018-10-16 19:04:38 -05:00
Liviu Damian 9b2a7920cd Fixed node-authorizer systemd Unit paths 2018-10-11 09:36:12 +03:00
captainkerk d132577e21 add targetRamMb to kubeAPIServer spec 2018-10-09 01:46:18 +00:00
captainkerk beb8aebe06 add support for max-mutating-requests-inflight parameter 2018-10-04 05:40:28 +00:00
Justin Santa Barbara 666e290983
Merge pull request #5547 from justinsb/etcd_manager_tests
Add test for etcd-manager output
2018-09-22 08:29:30 -07:00
k8s-ci-robot a300c2aa4c
Merge pull request #5106 from ExtraHop/hook-raw-manifest
Add `useRawManifest` hook option to install `manifest` as a hook unmodified
2018-09-21 09:23:00 -07:00
k8s-ci-robot 842c925d7f
Merge pull request #5758 from granular-ryanbonham/master
Add Docker 18.06.1 for Debian Stretch
2018-09-15 13:18:46 -07:00
k8s-ci-robot 611a343823
Merge pull request #5745 from johanneswuerbach/add-conntrack
Explicitly install conntrack
2018-09-14 09:11:43 -07:00
Justin Santa Barbara 7cf432fcba Add test for etcd-manager output
We need to get this under test coverage so we can start changing it confidently!
2018-09-14 08:46:32 -04:00
Ryan Bonham 8489f2a2d9 Fix go formating 2018-09-06 15:15:16 -05:00
Ryan Bonham 6207b56077 Add Docker 18.06.1 for Debian Stretch 2018-09-06 08:59:46 -05:00
Johannes Würbach 70ae068945
Explicitly install conntrack 2018-09-04 22:36:02 +02:00
k8s-ci-robot 2f1d2e07f7
Merge pull request #5565 from justinsb/refactor_printer
Refactor tables package to be more reusable
2018-09-03 15:28:36 -07:00
Justin Santa Barbara 16985c3abc Remove _kubernetes_master tag
We can get the master role just as readily from the InstanceGroup spec
2018-08-14 21:01:07 -04:00
Justin Santa Barbara 76f5ed2d9c Refactor tables package to be more reusable
We still need the reflect helpers, but we allow for clients to
register their own pretty-printers, which avoids the package
dependency for our pretty-printer.  We register our pretty printers in
an init function in the relevant package (in this case,
upup/pkg/fi/printers.go)

Fix #5551
2018-08-02 14:09:05 -04:00
Justin Santa Barbara 288c5aaf01 Add error handling (logging) when we fail to close a file
More missing error handling

Follows on from #5543
2018-07-28 16:50:13 -04:00
Justin Santa Barbara 2faa68426f Docker installation from tar.gz
Ubuntu 18.04 doesn't have a package for docker 17.03, but we can still
support it by using the tar.gz package.

This could be a nice fallback for other operating systems in future,
and it might prove to be more reliable than the OS packages.

But start with supporting ubuntu 18.04 with older docker versions!
2018-07-24 21:58:54 -04:00
Justin Santa Barbara 289c18e17f Add portmap CNI plugin for k8s >= 1.9
Older CNI versions don't have the portmap plugin, but we should make
it available.
2018-07-23 09:56:46 -04:00
Rob Graham 4b07a07ad5 Merge branch 'master' into issue-4252-dns 2018-07-23 14:00:09 +01:00
Rob Graham 8ccf42f4a2 GH-4252 Better name for the config value and also add to v1alpha1 API 2018-07-23 13:48:35 +01:00
Rodrigo Menezes f816b00fb9 fix 2018-07-20 13:47:22 -07:00
Rodrigo Menezes 74e8973c6c Fix based on Justins suggestion 2018-07-20 12:25:23 -07:00
Rodrigo Menezes e8476499b0 Allow other CNI drivers to bind a hosts Primary IP 2018-07-20 12:16:38 -07:00
k8s-ci-robot 2dbb6e84f6
Merge pull request #5077 from yancl/master
change gossip dns conn limit by ENV
2018-07-19 21:40:52 -07:00
k8s-ci-robot 0e64d32b5b
Merge pull request #5456 from mikesplain/configurable_conntrack
Add configurable conntrack settings
2018-07-19 11:11:17 -07:00
k8s-ci-robot 56ccfac26d
Merge pull request #5317 from gambol99/node_registration
Node Authorization Service
2018-07-19 05:17:41 -07:00
Mike Splain 188824cba0 Add configurable conntrack settings 2018-07-18 12:11:30 -04:00
Christian Kampka 581eec3eca Don't mount volume for auditLog when STDOUT is configured as path
Fixes #4202
2018-07-16 22:53:58 +02:00
k8s-ci-robot 70e3653291
Merge pull request #5417 from mikesplain/fix_docker_config
Fixes issue when setting docker version
2018-07-15 17:17:55 -07:00
k8s-ci-robot 7514320df3
Merge pull request #5394 from mikesplain/bionic
Initial Ubuntu Bionic Support
2018-07-15 12:54:55 -07:00
k8s-ci-robot 35b7d5791d
Merge pull request #5424 from rdrgmnzs/fix_aws-authenticator_read_perms
Fix the issue described in #5412 where the authenticator is no longer…
2018-07-11 15:29:26 -07:00
k8s-ci-robot 90f49e993a
Merge pull request #5428 from coreypobrien/binbash
Use /bin/bash in kubelet manifest ExecStartPre
2018-07-11 13:04:25 -07:00
Corey O'Brien af5f877a38 Use /bin/bash in kubelet manifest ExecStartPre 2018-07-11 00:04:13 -04:00
Rodrigo Menezes a31c0186da add comment 2018-07-10 10:27:13 -07:00
Rodrigo Menezes b296e6fcbf Fix the issue described in #5412 where the authenticator is no longer able to read the K8s CAs. 2018-07-09 23:57:58 -07:00
Rodrigo Menezes f5e3d434fb fix cert location 2018-07-09 15:04:13 -07:00
Rodrigo Menezes 414b3a780b Rename hept.io authenticator to aws authenticator 2018-07-08 10:10:19 -07:00
Rohith 92115b2341 - dropping the specific flags and using a genenic --feature gate model for the authorizers, meaning i don't need to come back to the API whenever we want to make changes 2018-07-06 20:15:18 +01:00
Rohith fd6cef8180 Requested Changes
- switching to using code rather than a template for the systemd unit creation as requested in review
- as part of the review, changing the name of the ca from tls-ca to tls-client-ca
- changing the api from DisableAddressCheck to EnableAddressCheck and defaulting to true if no set
- fixing up the test for node-authorizer and shifting the parsing of the certificates as suggested in reviews to a method
2018-07-06 20:14:35 +01:00
Rohith 79cff25eb4 - fixing up on the comments raised by on the review 2018-07-06 20:14:35 +01:00
Rohith 304d0ce8a9 - consuming the node authorization api spec in nodeup binary
- adding the options builder to fill in the model
- adding the spec into the bootstrap config
2018-07-06 20:14:35 +01:00
Mike Splain 48c9f3d7c9 Fixes issue when setting docker version
Previously when setting docker version, logdriver was automatically
added to cluster config. Switching it to a pointer fixes this issue.

Fixes #5384
2018-07-06 11:29:11 -04:00
Rob Graham ae327e1e8c wrestling with the api stuff 2018-07-02 15:16:37 +01:00
Rob Graham cc589ae538 Reworked to use loadbalancer only if config is specified 2018-07-02 12:02:50 +01:00
Mike Splain 8aa5059038 Initial Bionic Support
Kubernetes doesn't officially support bionic.
Docker has only released 18.03.1 for Bionic.
Kubernetes also doesn't officially support 18.03.1
Use at your own risk.
2018-06-29 11:11:59 -04:00
Rob Graham 64974fdd5b GH-4252 Only manage internal DNS zone if configuration has been specified 2018-06-22 15:05:47 +01:00
k8s-ci-robot 8fad9da430
Merge pull request #5352 from gambol99/nodeup_clean
Nodeup clean
2018-06-21 09:23:47 -07:00
k8s-ci-robot f346efd290
Merge pull request #5240 from nebril/etcd-tls
Add etcd TLS support for Cilium
2018-06-21 09:23:37 -07:00
Justin Santa Barbara 1e381996ce Handle storage flag on COS more carefully
Only clear the flag if there is a docker config file, so that we can
continue to set the storage flag on older COS images.  We could be
smarter about checking if the storage driver is actually set in the
docker config, but for now we just start by logging it.
2018-06-20 19:34:10 -04:00
Maciej Kwiek a72b9e4b38 Generalize CalicoBuilder into EtcdTLSBuilder
Cilium was using the same code as Calico to retrieve etcd certs, new
builder is not Calico-specific.

calico name of certs is retained to ensure backward compatibility

Signed-off-by: Maciej Kwiek <maciej@covalent.io>
2018-06-20 15:25:23 +02:00
k8s-ci-robot cd820a6be9
Merge pull request #5351 from gambol99/remove_unrequired
Removing Duplication
2018-06-20 02:06:06 -07:00
Rohith 2256a2c588 - fixed up the issues highlighted in the review 2018-06-20 09:31:32 +01:00
Rohith c9db958696 - cleanup up elements, imports and comments 2018-06-20 09:26:31 +01:00
Rohith ecf1278bfe Nodeup Code Refresh
- removing the duplicated methods and fixing up to use the context methods
2018-06-20 09:26:31 +01:00
Rohith f4e90e1035 Removing Duplication
- removing the duplication code (i think by me :-)) and reusing the BuildCertificateTaskd and BuildPrivateKeyTask
2018-06-19 23:15:53 +01:00
Rohith 61a3e29b67 Code Clean
- just cleaning up the path concat to use filepath.Join() rather then string formats
2018-06-19 22:33:17 +01:00
Justin Santa Barbara 45eeddb560 protokube: only specify etcd flags when managing etcd
If we're using etcd-manager, we don't need to pass the flags to protokube.
2018-06-14 17:40:51 -04:00
Rohith 516fa2348f File Path fixes
- nothing much here, just fixing up to use filepath.Join rather than strins.Join which is cleaner
2018-06-12 10:22:05 +01:00
Rohith cdfa45d1ca - fixing up the paths to use a strings.Join rather than a fiddly
fmt.Sprintf
2018-06-11 21:30:35 +01:00
Rohith e77000f138 - fixing up the variable name to following a more suitable convention 2018-06-11 21:23:04 +01:00
Rohith d2bae64dd1 - adding the enable-bootstrap-token-auth to the kubeapi and fixing up the various compoents 2018-06-11 09:57:26 +01:00
Rohith 2d5bd2cfd9 - update the IAM policy to ensure the kubelet permision is skipped
- update the PKI to ensure on new clusters the certificate it not created
2018-06-11 09:57:26 +01:00
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
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
Rohith 67296c2db9 - fixing up the spelling mistakes found 2018-06-06 10:03:51 +01:00
Justin Santa Barbara 088d14e2bd docker: Set TasksMax to infinity
Equivalent of https://github.com/kubernetes/kubernetes/pull/51986
2018-06-03 13:14:15 -07:00
Rohith b62d6df115 Admission Controller Fix
A previous PR https://github.com/kubernetes/kops/pull/5221/ introduced the --enable-admission-plugins for >= 1.10.0 as recommended, it does however cause an issue if you already have AdmissionControl is specified in the Spec as both flags get rendered
2018-06-02 19:46:55 +01:00
Rohith f31f544ff2 File Permissions Private Key
- adjusting the file permissions on the heptio authenticator to 0600
2018-06-01 15:34:37 +01:00
k8s-ci-robot 775b877a10
Merge pull request #5197 from rdrgmnzs/heptio_authenticator
Setup heptio authenticator
2018-06-01 07:12:55 -07:00
Rodrigo Menezes f0476776b1 fix file perms 2018-05-31 21:11:06 -07:00
AdamDang 918d510909
Typo fix: are be->are
are be->are
2018-06-01 08:54:36 +08: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
Rodrigo Menezes 5ce8f9e712 Setup heptio authenticator 2018-05-23 17:48:33 -07:00
Rohith c6c842112e CA Key File Permissions
- locking down the ca.key somewhat by forcing the file permissions to 0600
2018-05-23 21:06:27 +01:00
Matt Dougherty cc716e3c05 Update hooks to allow all systemd unit file extensions
Previously the hook system would only allow extensions of ".service"
and ".timer". Any other name would have ".service" appended.

Now the hook system allows any suffix listed at
https://www.freedesktop.org/software/systemd/man/systemd.unit.html.
If no suffix is found, ".service" is still added to preserve backwards-
compatibility.

Note that backwards-compatibility may still break for users relying on
the previous behavior in odd ways. For example, a hook with name
"my-hook.slice" would previously have been installed as
"my-hook.slice.service", but it will now be installed as "my-hook.slice",
since ".slice" is a valid systemd unit file extension.
2018-05-16 09:26:17 -07:00
Matt Dougherty ff17e6f556 Add useRawManifest option to hook spec
When "useRawManifest" is set to true in the hook spec, the contents of
the "manifest" field are used unmodified as a systemd unit. The
"before" and "requires" fields are ignored, kops will not construct
the "[Unit]" section of the systemd unit file, and kops will not add a
"[Service]" header.

This gives operators access to the full suite of options available in
the "[Unit]" section, and also allows creation of unit files which
don't contain a "[Service]" section (for example, .swap units; see
https://www.freedesktop.org/software/systemd/man/systemd.swap.html).

Because this functionality is gated behind a new option, backwards
compatibility is preserved for hooks currently being created using the
old style.
2018-05-02 16:31:05 -07:00
liang ebfb3c241b change gossip dns conn limit by ENV 2018-04-28 15:50:19 +00:00
Cryptophobia c9cf51f5ad Add docker 17.09.0 version for Debian 9 2018-04-19 12:17:07 -04:00
Justin Santa Barbara b1384b3bc0 Only do etcd backups on main
Because our implementation can't actually differentiate settings for
events & main, we only support backup of main for now.
2018-04-10 18:52:08 -04:00
Kashif Saadat 3d1203f0f4 Disable locksmithd on CoreOS if UpdatePolicy set 2018-04-10 13:05:00 +01:00
AdamDang 71d8d23982
Typo fix an->and
Typo fix an->and
2018-04-06 10:13:57 +08:00
andrewsykim 89960aff67 coreos/containeros: restart kops-configuration service after docker drop-in is loaded 2018-04-03 12:47:19 -04:00
andrewsykim 27e8902016 digitalocean: add nodeup support 2018-04-01 10:11:07 -04:00
k8s-ci-robot cebc7017bc
Merge pull request #4760 from louismunro/add_AfterFiles_dependencies
Add AfterFiles dependencies to File tasks
2018-03-30 15:20:03 -07:00
Louis Munro 487dc33b7e Adds an AfterFiles field to nodetasks.File and makes sure CoreOS uses it 2018-03-26 18:30:36 +00:00
k8s-ci-robot fc1bed4353
Merge pull request #4224 from nebril/cilium-support
Add Cilium as CNI plugin
2018-03-26 07:49:02 -07:00
k8s-ci-robot 84b75cc7ec
Merge pull request #4744 from locationlabs/ca_bundle_fix
use the primary cert from the ca cert bundle
2018-03-21 19:27:05 -07:00
k8s-ci-robot 8d8e35aeae
Merge pull request #4575 from erks/admin_token_access
add system:masters group to admin user in static token file
2018-03-20 19:21:13 -07:00
Chris Phillips bce2c346c3 use the primary cert from cert bundles
If the ca cert bundle has multiple certs, some things (kube-controller-manager in particular) will fail to startup correctly
2018-03-20 19:20:12 -07:00
Justin Santa Barbara e93d88ecc2 Mount the iptables lock file
We only do this for >= 1.9 so we don't change existing clusters.

Equivalent of https://github.com/kubernetes/kubernetes/pull/46259
2018-03-20 18:07:17 -04:00
Maciej Kwiek bca52dede9 Add Cilium as CNI plugin
Signed-off-by: Maciej Kwiek <maciej@covalent.io>
2018-03-20 13:07:26 +01:00
Leon Waldman 1fa6bfb612 Fix kubeScheduler.usePolicyConfigMap - missing namespace flag 2018-03-19 19:42:27 -03:00
Justin Santa Barbara 90ac573594 Centos: add selinux package dependencies
Issue #4091
2018-03-18 17:49:45 -04:00