Commit Graph

68 Commits

Author SHA1 Message Date
Martin Tomes 462ca78f2a Import package aliases modified
Modified api -> kopsapi aliases of imports of k8s.io/kops/pkg/apis/kops
2020-04-17 16:55:08 +02:00
John Gardiner Myers 8e2fe44391 Return more errors at once during Cluster validation 2020-01-30 22:04:19 -08:00
Aresforchina f312f7c974 upup/pkg/fi-fix staticcheck 2020-01-07 15:50:30 +08:00
Ciprian Hacman 42b73b877d Add support for containerd container runtime 2019-12-15 21:37:57 +02:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -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
Adam Malcontenti-Wilson 02b0422c0e Check for an odd number of etcd pods, not instancegroups 2019-03-19 17:25:15 -07:00
Justin Santa Barbara 54c499fe9b Introduce field to specify whether we are using etcd-manager or legacy mode
Splitting this out from the bigger bundle PR
2018-10-01 15:36:24 -07: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
k8s-ci-robot 56ccfac26d
Merge pull request #5317 from gambol99/node_registration
Node Authorization Service
2018-07-19 05:17:41 -07:00
Christian Kampka 3bf8a8fcd2 Add weave network encryption secret 2018-07-13 16:57:48 +02: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
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
Justin Santa Barbara ba87c36f73 Support (optional) etcd-manager 2018-05-25 16:01:22 -04:00
Justin Santa Barbara 559d885480 Mirror keystore & secretstore
This allows us to have our API objects in kops-server, but our
configuration on S3 or GCS.
2017-09-24 00:09:02 -04:00
Justin Santa Barbara 914fe68ee2 SecretStore and CAStore implementations backed by API
Not yet wired in
2017-09-17 23:01:13 -04:00
Justin Santa Barbara 9c5d4c2bdc Rework legacy validation to use field error helpers 2017-08-17 07:43:41 -04:00
Rohith 7cd214266a Requested Changes - Etvd v3
- removing the StorageType on the etcd cluster spec (sticking with the Version field only)
- changed the protokube flag back to -etcd-image
- users have to explicitly set the etcd version now; the latest version in gcr.io is 3.0.17
- reverted the ordering on the populate spec
2017-08-11 21:08:09 +01:00
Rohith f3e98af217 Etcd V3 Support
The current implementation is running v2.2.1 which is two year old and end of life. This PR add the ability to use etcd and set the versions if required. Note at the moment the image is still using the gcr.io registry image. As note, much like TLS their presently is not 'automated' migration path from v2 to v3.

- the feature is gated behine the storageType of the etcd cluster, bot clusters events and main must use the same storage type
- the version for v2 is unchanged and pinned at v2.2.1 with v2 using v3.0.17
- @question: we shoudl consider allowing the use to override the images though I think this should be addresses more generically, than one offs here and then. I know chris is working on a asset registry??
2017-08-11 21:04:31 +01:00
Kashif Saadat e0461b92a9 Add ability to store partial cluster and instancegroup spec in userdata,
so component config changes are detected and causes nodes to be updated
2017-08-09 14:15:02 +01: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
Justin Santa Barbara 0115ece62d Remap pause image through our AssetBuilder 2017-07-22 00:35:37 -04:00
Justin Santa Barbara 0cbf8867b8 DNS: Match type of DNS when looking at zones
When looking for a zone, match by name, but also only match private
zones if running with --dns private, or public zones with --dns public.

We log if we find a zone that matches by name but not by type.

Requires https://github.com/kubernetes/kubernetes/pull/40197

Issue #1522
Issue #1468
2017-06-09 08:48:38 -04:00
Justin Santa Barbara c8b18be9dd Gossip backed DNS 2017-04-25 01:32:21 -04:00
Justin Santa Barbara 8b965a0ad9 Disable insecure port for apiserver
All components need a kubeconfig
2017-03-28 21:26:17 -04:00
Justin Santa Barbara e2a06a389a Move kubeproxy configuration to code
Also map kube-proxy ClusterCIDR arg.
2017-03-28 10:03:17 -04:00
Justin Santa Barbara e6fb0a3d67 Move kube-scheduler to code & RBAC 2017-03-28 00:26:59 -04:00
Justin Santa Barbara 645f330dad Re-enable GCE support
We move everything to the models.  We feature-flag it, because we
probably want to change the names etc, and we aren't going to be able to
offer smooth upgrades until that is done.
2017-02-28 20:08:03 -05:00
Justin Santa Barbara 55b6d86454 Move more options to code
User reports of kubelet flags not being passed; moved more to code.

Also found & fixed the likely root-cause issue: we have two copies of
the cluster spec and were not being precise about which one we wanted to
use at all times.
2017-02-15 13:11:12 -05:00
Justin Santa Barbara 8dd8ac2424 Drop DNS message to V(2)
It is getting logged twice, and it just doesn't seem particularly
important anyway.

Issue #1679
2017-01-29 13:50:10 -05:00
Chris Love 849815b638 Merge pull request #1601 from justinsb/validate_subnet_no_mixing
validation: Validate we specify ids for all subnets
2017-01-24 23:01:41 -07:00
Justin Santa Barbara 1dd6fe8a43 Make etcd-members-in-same-instance-group into a warning
This allows for simple single-AZ HA configurations.
2017-01-25 00:31:12 -05:00
Justin Santa Barbara 9e015285f8 validation: Validate we specify ids for all subnets
Move our validation to the apimachinery style.  And then add a
validation that we specify IDs either for all subnets or no subnets.
2017-01-24 12:38:52 -05:00
chrislovecnm 3cabfb25d0 Updates to add new flag used by Kubernetes Controller manager: attach-detach-reconcile-sync-period 2017-01-18 12:29:29 -08:00
Kris Nova 09f77d6753 Fixing hosted zone errors with bastion, and cleaning up dns model logic 2017-01-08 15:11:08 -05:00
Justin Santa Barbara 8f9be902ce Only set PodCIDR on master in <= 1.4 2016-12-28 13:26:45 -05:00
Justin Santa Barbara 3aae164d80 Only specify --configure-cbr0 when running with k8s <= 1.4 2016-12-27 21:09:06 -05:00
Justin Santa Barbara 846b7601db Configure DockerVersion in Docker Spec
And automatically choose 1.12.3 for k8s >= 1.5, 1.11.2 for < 1.5

Fix #849
2016-12-20 00:34:40 -05:00
Justin Santa Barbara a03ea54365 Rename SubnetName -> Name
No schema impact
2016-12-19 00:01:38 -05:00
Justin Santa Barbara 1ef2c367c1 Reintroduce subnet assignemnt logic 2016-12-18 21:56:57 -05:00
Justin Santa Barbara fed68310fa Schema v1alpha2
* Zones are now subnets
* Utility subnet is no longer part of Zone
* Bastion InstanceGroup type added instead
* Etcd clusters defined in terms of InstanceGroups, not zones
* AdminAccess split into SSHAccess & APIAccess
* Dropped unused Multizone flag
2016-12-18 21:56:57 -05:00
Justin Santa Barbara c01c2af656 Mark ObjectMeta as a named field
This will work around some apimachinery bugs
(https://github.com/kubernetes/client-go/issues/8)
2016-12-14 22:26:57 -05:00
Justin Santa Barbara d1ea4f969a Make sure we set APIServerCount
It looks like it got lost in a refactor.  Add a unit test, and move
initialization to code (and have the code self-check as well).

Also we can now have a fairly long code comment about the reasons why
this is such a mess...

Fix #371
2016-12-05 02:30:53 -05:00
alok87 d4eccb2688 Made bastion as part of TopologySpec 2016-12-01 09:56:45 +05:30
alok87 6206bc711e Separate configuration for bastion 2016-11-23 12:35:10 +05:30
Justin Santa Barbara ee44353cde Add support for kopeio networking 2016-11-16 14:20:23 -05:00
Justin Santa Barbara f709f909e4 Options through code 2016-11-14 12:26:42 -05:00
Justin Santa Barbara 933506bdbb Apply gofmt 2016-11-13 21:06:55 -05:00
Kris Childress 8c41dad16d Unit Tests
- Adding populateClusterSpec unit tests
 - Topology happy/sad paths
 - Fleshing out topology in the buildMinimalCluster() function
2016-11-08 15:16:41 -08:00
Kris Childress 9bd9e30bdd Adding another large commit after a make codegen 2016-11-08 15:16:41 -08:00