John Gardiner Myers
06658c9d13
Move Hooks into the NodeupAuxConfig
2021-06-03 21:09:45 -07:00
John Gardiner Myers
c3c1aca3c1
Include AuxConfig output in TestBootstrapUserData
2021-06-03 21:09:45 -07:00
John Gardiner Myers
2e1629c610
Introduce nodeup.AuxConfig
2021-06-03 20:37:22 -07:00
Kubernetes Prow Robot
c62090fc6c
Merge pull request #11552 from hakman/etcd-events-tests
...
Add etcd-server related tests
2021-05-21 09:29:35 -07:00
Ciprian Hacman
48ef1555bb
Add etcd-server related tests for kube-apiserver
2021-05-21 18:53:54 +03:00
Ciprian Hacman
f4ec3df187
Prepare etcd-server related tests for kube-apiserver
2021-05-21 18:53:54 +03:00
Ole Markus With
46e13c0009
Bump snapshot-controller version
...
Update upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template
Co-authored-by: Peter Rifel <rifelpet@users.noreply.github.com>
Update upup/models/cloudup/resources/addons/storage-aws.addons.k8s.io/v1.15.0.yaml.template
Co-authored-by: Peter Rifel <rifelpet@users.noreply.github.com>
2021-05-21 15:40:40 +02:00
Alexander Block
bb52334222
Make the events etcd cluster optional
2021-05-20 08:05:42 +02:00
Peter Rifel
47add60546
Fix KCM livenessProbe to use secure port
2021-05-11 08:01:42 -05:00
John Gardiner Myers
36f93d0069
hack/update-expected.sh
2021-05-07 23:40:03 -07:00
John Gardiner Myers
d3469d6ec2
Remove code for no-longer-supported k8s versions
2021-05-07 23:40:03 -07:00
Peter Rifel
cc4fae3f71
Remove unused k8s version parsing
2021-05-03 17:23:23 -05:00
dntosas
9481246e22
[csi/aws] Add support for warm pools
...
Add pulling needed images as initial task for warming up instances for
csi driver resources.
Signed-off-by: dntosas <ntosas@gmail.com>
2021-04-25 16:59:57 +03:00
Ole Markus With
df2f66e1e5
Make API servers provision themselves.
...
API servers also have access to secret store, so there is no need to go through kops-controller.
This lets API server only depend on etcd from the CP nodes, which should make it easier to scale out API servers under pressure
2021-04-23 06:59:15 +02:00
Ole Markus With
769c6e584f
Add install section to kubelet unit
2021-04-19 19:19:46 +02:00
Ole Markus With
df4f429ceb
Apply suggestions from code review
...
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-04-19 07:25:42 +02:00
Ole Markus With
202e440920
Pre-pull cilium and kube-proxy in warming mode
2021-04-18 18:42:59 +02:00
Ole Markus With
aac4741b0e
Add a golden test for warmpool mode
2021-04-15 07:01:33 +02:00
Ole Markus With
af92896dc7
Don't start kubelet if we are warming
2021-04-14 11:05:50 +02:00
Ciprian Hacman
1737925c44
Replace k8s.io/utils/mount with k8s.io/mount-utils
2021-04-14 07:01:43 +03:00
Ole Markus With
bd731ce989
Use secure kubelet auth
...
Without secure node auth enabled, commands like `kubectl logs` may fail
with certain configurations.
Previously, we checked if anonymousAuth was enabled on the kubelet
before securing node communication, but this isn't really relevant. We
can still authenticate even if anonymous access is allowed.
2021-04-13 08:59:39 +02:00
John Gardiner Myers
fdc61b4bdb
Rename the service account key
2021-04-11 08:11:27 -07:00
Kenji Kaneda
baff30d66e
Add an option to skip NTP installation
...
Add NTPConfig to ClusterSpec. NTPConfig has the SkipInstall option.
https://github.com/kubernetes/kops/issues/9661
2021-03-31 12:33:32 -07:00
Peter Rifel
e2ea5f8a95
Update protokube systemd unit docs link
2021-03-24 20:57:00 -05:00
Barry Melbourne
05123faf5a
Update containerd to v1.3.10/v1.4.4
2021-03-23 17:02:01 +00:00
Ciprian Hacman
1b57bfbb8f
Load env vars from file for kops-configuration service
2021-03-23 04:32:34 +02:00
Kubernetes Prow Robot
8b5be9baf9
Merge pull request #11082 from bharath-123/task/remove-dbus
...
Remove dbus dependency
2021-03-21 21:31:43 -07:00
Ole Markus With
20bd724f5e
Add support for scaling out the control plane with dedicated apiserver nodes
...
Ensure apiserver role can only be used on AWS (because of firewalling)
Apply api-server label to CP as well
Consolidate node not ready validation message
Guard apiserver nodes with a feature flag
Rename Apiserver role to APIServer
Add an integration test for apiserver nodes
Rename Apiserver role to APIServer
Enumerate all roles in rolling update docs
Apply suggestions from code review
Co-authored-by: Steven E. Harris <seh@panix.com>
2021-03-20 20:57:00 +01:00
Bharath Vedartham
26319c6e96
Remove dbus dependency
2021-03-20 15:06:10 +05:30
Peter Rifel
b57318fc3d
Download kubectl to /opt/kops/bin on Flatcar OS
...
Also add it to protokube's PATH.
Our flatcar job is currently failing because channels arent being applied.
A newly added error log reports that kubectl isn't in protokube's PATH.
This adds the kubectl's location (/opt/bin) to protokube's PATH.
See https://storage.googleapis.com/kubernetes-jenkins/logs/e2e-kops-aws-distro-imageflatcar/1371379886664454144/artifacts/54.206.100.130/protokube.log
2021-03-18 22:26:38 -05:00
Bharath Vedartham
368f3e94f2
Create an environment file for kops-configuration systemd process
2021-03-13 16:25:04 +05:30
Kubernetes Prow Robot
ad7c793050
Merge pull request #10913 from seh/scope-os-update-policy-to-instance-group-too
...
Honor OS update policy at InstanceGroup level too
2021-03-12 22:03:03 -08:00
Ciprian Hacman
79a0720143
Fix rendering of multiple Docker insecure registries
2021-03-12 16:30:15 +02:00
Ciprian Hacman
77b72efe1d
Fix various nits when changing Protokube to run as service
2021-03-08 07:19:48 +02:00
Bharath Vedartham
d45514cff3
Make protokube a systemd process
2021-03-06 00:32:44 +05:30
Steven E. Harris
e39c985ee7
Honor OS update policy at InstanceGroup level too
...
As with the Cluster-level "spec.updatePolicy" field, add a similar
field at the InstanceGroup level, allowing overriding of the
cluster-level choice in each InstanceGroup.
Introduce a new value for the field ("automatic") as equivalent to the
default value applied when the field is absent. Honoring this new
value allows disabling automatic updates at the cluster level, but
then enabling them again for particular InstanceGroups. Without such a
positive affirmation, it's not possible to override a cluster-level
"external" policy at the InstanceGroup level, as there's no way to
specify positively that you want to recover the default
value. Instead, expressing the explicit "automatic" value is clear and
unambiguous.
2021-03-05 08:53:07 -05:00
Kubernetes Prow Robot
730fe1ffff
Merge pull request #10813 from justinsb/containerd_always_configure
...
containerd installation: always configure, even if we don't install
2021-02-15 23:29:05 -08:00
Justin SB
071c090065
containerd installation: always configure, even if we don't install
...
Even if we don't install containerd (e.g. ContainerOS or Flatcar), we
likely still need to configure it; particularly in the case of
kubenet.
Additionally, on ContainerOS we can't change the path from
/etc/containerd/config.toml, so we have to write it there. We may in
future be able to use this on all distros.
2021-02-13 18:19:16 -05:00
Justin SB
bc84cdaf11
iptables: Use the lock when checking for existing rules
...
Otherwise we sometimes get an "in-use" message, telling us to use the
lock, if another iptables process is running concurrently.
2021-02-13 16:12:11 -05:00
Kubernetes Prow Robot
ce3f5416b9
Merge pull request #10759 from justinsb/containerd_kubenet_configuration
...
kubenet containerd: match upstream
2021-02-13 12:59:04 -08:00
Steven E. Harris
d44612cc84
Capture outcome of "hack/update-expected.sh" run
2021-02-11 10:49:49 -05:00
Justin SB
c921aff34c
kubenet containerd: match upstream configuration
...
Configure kubenet in containerd/CNI mode to match upstream configuration.
Biggest change is a move to the ptp plugin.
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
2021-02-11 08:25:55 -05:00
Kubernetes Prow Robot
41d7d2dbe4
Merge pull request #10707 from slu2011/master
...
Use the kubeApiServerConfig clientCAFile field
2021-02-09 03:58:46 -08:00
Kubernetes Prow Robot
4507be8e13
Merge pull request #10469 from justinsb/boot_nodes_from_kops_controller
...
Boot nodes without state store access
2021-02-08 11:28:19 -08:00
Ciprian Hacman
8ea5987851
Always generate kops-controller certs
2021-02-07 23:35:11 +02:00
shil
dc03028e5d
Update the logic to set kubeAPIServer.ClientCAFile
2021-02-02 12:10:43 -08:00
shil
a0350a0dfa
Use the kubeApiServerConfig clientCAFile field
2021-02-01 15:26:09 -08:00
Ciprian Hacman
7aeb8c2af3
Add back support for kubenet style networking with containerd
2021-01-24 21:16:45 +02:00
Ole Markus With
91a6777e60
Replace gopkg yaml with k8s-sigs yaml
2021-01-22 14:28:05 +01:00
Justin SB
23646b6546
Install dbus if needed for protokube with kope.io
2021-01-21 18:17:35 +02:00
Justin SB
f9c43bbb3e
containerd: Add /etc/crictl config to enable crictl
...
This configuration file means users don't have to pass the endpoint
to run crictl.
2021-01-14 23:05:47 -05:00
Kubernetes Prow Robot
e4f4a20d27
Merge pull request #10419 from bharath-123/task/default-systemd
...
Default cgroup driver to systemd from k8s 1.20
2021-01-12 08:30:27 -08:00
Bharath Vedartham
a8d709acf2
Default cgroup driver to systemd from k8s 1.20
...
Currently, kOps uses cgroupfs cgroup driver for the kubelet and CRIs. This PR defaults
the cgroup driver to systemd for clusters created with k8s versions >= 1.20.
Using systemd as the cgroup-driver is the recommended way as per
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
2021-01-12 20:39:25 +05:30
Ole Markus With
4d2eca199f
Remove node-authorization
2021-01-11 18:59:45 +01:00
Kubernetes Prow Robot
4ee8936d63
Merge pull request #10547 from justinsb/cos_var_lib_kubelet
...
COS/GCE: exec on kubelet/flexvolume dirs
2021-01-10 08:23:17 -08:00
Kubernetes Prow Robot
50999d24bd
Merge pull request #10538 from justinsb/ubuntu_2010_partii
...
Refactor and centralize distribution logic
2021-01-10 03:45:06 -08:00
Justin Santa Barbara
e9f6623a80
COS/GCE: exec on kubelet/flexvolume dirs
...
Upstream bind mounts /var/lib/kubelet with exec, dev and suid
permissions, because emptyDirs end up inheriting these permissions.
Similarly, /home/kubernetes/flexvolume needs exec permission to
support flexdrivers.
2021-01-09 13:56:18 -05:00
Justin SB
4ac9d5c17b
Boot nodes without state store access
...
kops-controller can now serve the instance group & cluster config to
nodes, as part of the bootstrap process.
This enables nodes to boot without access to the state
store (i.e. without S3 / GCS / etc permissions)
Feature-flagged behind the KopsControllerStateStore feature-flag.
2021-01-09 13:08:48 -05:00
Ciprian Hacman
422cfad1da
Add containerd config file to Flatcar based instances
2021-01-06 15:33:17 +02:00
Justin Santa Barbara
78b139465c
Refactor and centralize distribution logic
...
Use of a struct makes it more sustainable, centralizing into the
distribution package makes it simpler to follow.
2021-01-05 11:50:23 -05:00
Justin SB
b17e44b709
Recognize ubuntu 20.10
...
Teach nodeup about ubuntu 20.10, including the unusual
/etc/resolv.conf configuration.
2021-01-05 10:53:40 -05:00
Ciprian Hacman
c02e5a20ea
Remove support for Kubenet with containerd
2020-12-27 18:21:16 +02:00
Kenji Kaneda
a61caea8d2
Add Azure support
...
This commit contains all changes required to support Azure
(https://github.com/kubernetes/kops/issues/3957 ).
2020-12-21 08:27:54 -08:00
Ciprian Hacman
91c6df4f04
Update docker.service file
2020-12-15 11:46:03 +02:00
Ciprian Hacman
6986df9523
Update containerd.service file
2020-12-15 11:46:03 +02:00
Ciprian Hacman
416fd15e3c
Mount /lib64 for Protokube only on AMD64
2020-12-09 18:58:18 +02:00
Rodrigo Menezes
da773ba35c
Allow setting CPU limit and Mem request / limit for kube API
2020-11-23 10:03:34 -08:00
John Gardiner Myers
046a64cb19
Use separate domain for kops-controller bootstrap
2020-11-14 12:14:34 -08:00
John Gardiner Myers
2ef4aa2dbb
Move nfs packages to packages.go
2020-11-13 13:37:47 -08:00
John Gardiner Myers
77c4ad4092
Don't install the misc packages for k8s 1.20+
2020-11-12 22:22:06 -08:00
John Gardiner Myers
2ac17bee69
Remove code for no-longer-supported k8s releases
2020-10-29 16:45:53 -07:00
Kubernetes Prow Robot
c9aa53895a
Merge pull request #10048 from hakman/container-runtime-assets
...
Install container runtime packages as assets
2020-10-25 21:03:01 -07:00
Ole Markus With
5c941dee38
Fix circular dependency in tasks related to cilium certs
2020-10-24 09:27:15 +02:00
Ole Markus With
1525ccdee9
Fix circular dependency in tasks related to kubelet serving cert
2020-10-24 09:02:41 +02:00
Ciprian Hacman
c36262009b
Install container runtime packages as assets - Code Review 1
2020-10-23 11:05:41 +03:00
Ciprian Hacman
b27431d86f
Install container runtime packages as assets - Tests
2020-10-14 15:41:51 +03:00
Ciprian Hacman
852bebe165
Install container runtime packages as assets - Misc
2020-10-14 15:41:51 +03:00
Ciprian Hacman
732a161313
Install container runtime packages as assets - Main
2020-10-14 15:41:51 +03:00
AkiraFukushima
4e4c4a1e16
Install wireguard OS package in nodeup
2020-10-11 15:53:11 +09:00
Kubernetes Prow Robot
cc41bba0cf
Merge pull request #10022 from olemarkus/metrics-server
...
Kubelet serving certificate and metrics server addon
2020-10-09 03:09:07 -07:00
Ciprian Hacman
d0349fd6bb
Open etcd port only when Calico uses "etcd" datastore
2020-10-09 09:33:38 +03:00
Ole Markus With
466dcd001e
Apply suggestions from code review
...
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2020-10-09 08:27:08 +02:00
Ole Markus With
809aa93634
Make use of kubelet service certificate
2020-10-09 08:27:08 +02:00
Ole Markus With
1d922af364
Pass cloud into populate cluster
2020-09-24 07:22:13 +02:00
Ole Markus With
7bc17f4b1f
Build cloud outside of PerformAssignments
...
We tend to build cloud, call some method, and then build cloud over
again. It would be easier to just pass the first one along.
Passing along cloud would also make it easier to mock cloud.
2020-09-23 07:54:28 +02:00
Ciprian Hacman
96e3fefd85
Update Docker to v19.03.13
2020-09-18 12:14:43 +03:00
Ciprian Hacman
fcc486d250
Update containerd to v1.4.1
2020-09-18 10:01:30 +03:00
Ole Markus With
6efb91a15b
Don't write application credentials to cloud config unless external CCM is enabled
2020-09-15 09:45:09 +02:00
Ciprian Hacman
07ffd665a7
Allow container runtime to run before BootstrapKubeconfig
2020-09-12 08:13:40 +03:00
Kubernetes Prow Robot
4604fa53b3
Merge pull request #9899 from olemarkus/remove-insecure-bind-address
...
Don't explicitly set insecure-bind-address on newer k8s
2020-09-09 03:25:53 -07:00
Ole Markus With
886b4c97cb
Don't explicitly set insecure-bind-address on newer k8s
2020-09-09 11:41:51 +02:00
Ole Markus With
192d6a46f9
Errors when encryptionConfig is enabled, but no encryptionconfig secret
...
When encryptionConfig is enabled, but the secret is missing, there is no
visible errors anywhere. kube-apiserver just goes into a crashloop
without any complains. This PR adds warnings both on the client side and
through nodeup.
2020-09-08 17:46:18 +02:00
Justin SB
786423f617
Expose JWKS via a feature-flag
...
When the PublicJWKS feature-flag is set, we expose the apiserver JWKS
document publicly (including enabling anonymous access). This is a
stepping stone to a more hardened configuration where we copy the JWKS
document to S3/GCS/etc.
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2020-08-30 10:15:11 -04:00
Justin SB
2be21562a9
Support writing a full certificate chain
...
This means that our https endpoint will serve the ca.crt as well.
2020-08-25 11:09:04 -04:00
Ciprian Hacman
f267c54b9a
Stop trying to pull the Protokube image
2020-08-25 09:04:45 +03:00
Kubernetes Prow Robot
f1a0e0312f
Merge pull request #9777 from hakman/containerd-1.4.0
...
Add support for containerd v1.4.0
2020-08-18 14:45:11 -07:00
Kubernetes Prow Robot
bacd944dea
Merge pull request #9776 from johngmyers/cni-client-certs
...
Issue the cilium etcd client cert out of kops-controller
2020-08-18 08:13:30 -07:00
Ciprian Hacman
537ad60191
Add support for containerd v1.4.0
2020-08-18 10:04:18 +03:00
Kubernetes Prow Robot
ffe3b3468d
Merge pull request #9766 from hakman/distros
...
Use /etc/os-release to identify the distribution
2020-08-17 22:37:30 -07:00
John Gardiner Myers
07220797b4
Issue the cilium etcd client cert out of kops-controller
2020-08-17 21:15:34 -07:00