Commit Graph

45 Commits

Author SHA1 Message Date
John Gardiner Myers 7c3e32369a Refactor Context into separate cloudup and nodeup types 2022-12-17 17:42:46 -08:00
Ciprian Hacman ea7df00719 Run hack/update-gofmt.sh 2021-12-01 22:39:50 +02:00
John Gardiner Myers 68bb8f5ddb Refactor kube-apiserver static credentials 2021-07-16 22:55:50 -07:00
John Gardiner Myers c8b1a586b8 Refactor kube-apiserver server certificate 2021-07-16 22:42:23 -07:00
John Gardiner Myers 68041a4f73 Issue certs using CA KeypairID in NodeupConfig 2021-07-10 23:23:12 -07:00
John Gardiner Myers d58a19e1bd Refactor service-account signing key 2021-07-10 17:31:59 -07:00
John Gardiner Myers c35d101a89 Refactor keysets for etcd-manager 2021-07-08 18:46:03 -07:00
John Gardiner Myers 1e0c6cb1aa Refactor apiserver-aggregator-ca 2021-07-01 22:25:47 -07:00
John Gardiner Myers 204a134a7d Include multiple CA certificates in the common trust store 2021-06-19 10:56:30 -07:00
John Gardiner Myers fdc61b4bdb Rename the service account key 2021-04-11 08:11:27 -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
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
John Gardiner Myers 321035f460 Allow cert/key file tasks to specify owner 2020-08-15 10:30:20 -07:00
Ole Markus With 7e2366ac64 Determine fixedip for api cert directly in nodeup 2020-08-04 08:22:00 +02:00
John Gardiner Myers 70926d43fc Use a stable key for signing service account tokens 2020-07-11 13:18:50 -07:00
John Gardiner Myers f4f4763dc2 Refactor more certs to be issued by nodeup 2020-06-28 23:12:13 -07:00
John Gardiner Myers 9d7a93e124 Issue kubelet-api cert in nodeup 2020-06-13 16:35:44 -07:00
ZouYu 2fc52ec6be fix some go-lint warning
Signed-off-by: ZouYu <zouy.fnst@cn.fujitsu.com>
2020-06-09 08:52:50 +08:00
Ciprian Hacman ad8e1ceff7 Remove basic authentication support for k8s 1.19+ 2020-04-05 17:47:26 +03:00
John Gardiner Myers 6e9dc8fc0f Remove code for unsupported k8s versions from nodeup 2020-01-12 19:30:34 -08:00
Justin SB 728e582360
Fill out kops controller functionality
k8s 1.16 requires that we move label setting away from the kubelet, to
a central controller.  kops-controller is that controller.
2019-09-25 12:04:34 -04:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -04: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
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
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
Touch Ungboriboonpisal eddf4ae7a0 make admin user in token auth have the same group (system:masters) as basic auth.
this should fix https://github.com/kubernetes/kops/issues/4369
2018-03-04 16:46:17 -08:00
Justin Santa Barbara 9e5c086c5b Remove use of deprecated create-if-missing functions
Generally tightening up the interface to make it easier to remove list
operations.
2017-12-20 00:52:18 -05:00
Justin Santa Barbara bf24a6443c Avoid ListSecrets call in nodeup
This helps up with GCE permissions, but also helps us get rid of auth
tokens.
2017-12-19 11:45:04 -05:00
Kashif Saadat a8866fbcc9 Remove world read permissions on sensitive key files. 2017-12-07 09:43:14 +00:00
Justin Santa Barbara a879521ba3 Initial aggregation support
Create the keypairs, which are supposed to be signed by a different CA.

Set the `--requestheader-...` flags on apiserver.

Fix #3152
Fix #2691
2017-10-22 14:41:38 -04:00
georgebuckerfield da36425dfb Enable support for encryption-at-rest
- add a new kops secret command to store encryption config
- add the experimential-encryption-provider-config flag to the kube-apiserver
- add functionality to nodeup to create the stored encryption config in the correct path
2017-09-22 17:14:51 +01:00
Justin Santa Barbara 914fe68ee2 SecretStore and CAStore implementations backed by API
Not yet wired in
2017-09-17 23:01:13 -04:00
Torin Sandall 7cf6e1036c Add support for proxy client certs
This enables external admission controller webhooks, api aggregation,
and anything else that relies on the
--proxy-client-cert-file/--proxy-client-key-file apiserver args.
2017-08-22 08:03:36 -07:00
asifdxtreme 18f6edd850 Fix Typo to improve GoReportCard 2017-08-08 10:48:14 +08:00
Rohith a73d255b03 Etcd TLS Options
The current implementation does not put any transport security on the etcd cluster. The PR provides and optional flag to enable TLS the etcd cluster

- cleaned up and fixed any formatting issues on the journey
- added two new certificates (server/client) for etcd peers and a client certificate for kubeapi and others perhaps (perhaps calico?)
- disabled the protokube service for nodes completely is not required; note this was first raised in https://github.com/kubernetes/kops/pull/3091, but figured it would be easier to place in here given the relation
- updated protokube codebase to reflect the changes, removing the master option as its no longer required
- added additional integretion tests for the protokube manifests;
- note, still need to add documentation, but opening the PR to get feedback
- one outstanding issue is the migration from http -> https for preexisting clusters, i'm gonna hit the coreos board to ask for the best options
2017-08-06 17:06:46 +01:00
Blake e093702fc3 Don't error if the dockerconfig isn't present 2017-08-01 16:51:20 -07:00
Blake 4f95fe473f Incorporate review feedback
- Rename to just DockerConfig / dockerconfig everywhere for consistency
- Check if the config is valid JSON
- Update docs
2017-08-01 13:15:19 -07:00
Blake bd779e7570 Move task up so so it applies to all nodes
Add HOME=/root to kubelet sysconfig
2017-07-29 13:04:49 -07:00
Blake 7946f08a08 symlink to /root/.docker/config.json for hooks
move the tasks up so they apply to all nodes
2017-07-29 00:27:50 -07:00
Blake 760311f09b Kubelet $HOME is /var/lib/kubelet
Also don't include the nodedockercfg in all_tokens.csv
2017-07-28 22:03:12 -07:00
Blake 60dc81fe49 Add `kops create secret nodedockercfg` feature
This adds a well-known secret name `nodedockercfg` which will automatically
be used if present to create /root/.docker/config.json on all nodes. This will
allow private registries to be used for kops hooks as well as any k8s images
without the need to define `imagePullSecrets` in every namespace.

closes https://github.com/kubernetes/kops/issues/2505
2017-07-28 17:38:50 -07:00
Rohith a3ff7dd122 Node Secrets
As present a number of secrets are downloaded to the /src/kubernetes directory regardless of role (master, node). This limits the
the node role to only donwload the ca.crt. The rest are for master nodes only

- removes basic_auth.csv, ca.key, known_tokens.csv, server.cert and server.key leaving only the ca.crt
2017-07-27 17:25:44 +01:00
Justin Santa Barbara 4179074590 Add RBAC roles to basic auth 2017-03-29 00:42:03 -04:00
Justin Santa Barbara b9204e9911 Initial Container-Optimized OS support
Add initial support for google's container-optimized OS (available on
GCE).
2017-03-20 23:47:37 -04:00