Ole Markus With
9eca9c882b
Add flag to version showing the kops 'server' version
2022-04-30 15:57:46 +02:00
Nat Henderson
9b08c4bb51
Enable internal load balancers when running on GCP
...
* Add ILBs, broadly following the AWS model. The following new
capabilities are added for clusters in GCP:
* Cluster's spec.api.loadBalancer can be set to 'type: internal' on
GCP.
* Therefore, GCP can now create:
* regional backend services
* regional (non-legacy) healthchecks
* firewall rules with "internal" load-balancing scheme
* firewall rules with dot-notation-specified IP addresses
* Cluster's spec.api.loadBalancer's 'subnets' field functions
as in the AWS model.
A few incidental changes are included, either because this change
touched the relevant code or because my use case happened to trigger the
issues that are fixed here.
* Cluster's spec.networkID field can be prefixed by project to use
GCP's common cross-project networking model.
* The presumption is that all specified subnets belong to this
network and therefore this project.
* Add missing operation wait on forwarding rule creation.
* Some Terraform output improvements:
* Permit no-ACL files in GCS buckets in Terraform output.
* Enable marginally better cross-resource reference in Terraform outputs
* Add project to network + subnetwork literals in Terraform output.
* Add terraform output to backend services and health checks.
Testing:
* Add mocks for backend services and health checks.
* Add minimal integration test - copied from gce_private and ilb added.
* Add update cluster goldens.
Co-authored-by: Travis Reid <travis_reid@apple.com>
2022-04-25 13:31:47 -07:00
Kubernetes Prow Robot
6d264080ed
Merge pull request #13484 from olemarkus/no-bazel-targets
...
Remove bazel targets and tools
2022-04-17 23:16:41 -07:00
Ciprian Hacman
8b8dd8d2dd
Use aws_s3_object instead of deprecated aws_s3_bucket_object
2022-04-13 16:49:03 +03:00
Ole Markus With
ce2e877aeb
Remove bazel files from vendor
2022-04-12 13:29:03 +02:00
Kubernetes Prow Robot
3acf5b3634
Merge pull request #13378 from hierynomus/sshkey-output
...
Do not return a '-1' exit if no keys found and json/yaml output
2022-03-28 00:51:22 -07:00
Ciprian Hacman
a4ed2b0654
Migrate to registry.k8s.io
...
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
2022-03-18 08:47:12 +02:00
Kubernetes Prow Robot
d751d0f056
Merge pull request #13364 from olemarkus/fix-long-role-names
...
Fix long role names
2022-03-17 23:43:16 -07:00
Jeroen van Erp
3955883f6b
Do not return a '-1' exit if no keys found and json/yaml output
2022-03-17 10:06:22 +01:00
Ole Markus With
ba06b33193
If image is empty, have kops upgrade fill it in
2022-03-16 20:15:51 +01:00
Ole Markus With
3fcb84ed6b
Truncate the standard role names
2022-03-15 21:31:04 +01:00
Ole Markus With
f8525ce6f9
Add integration test for really long cluster names
2022-03-15 20:44:26 +01:00
Ole Markus With
5cac1eea56
Set command using entrypoint instead of cmd
2022-03-11 16:02:46 +01:00
John Gardiner Myers
70f7d9bdb2
Use function to get cloud provider from cluster spec
2022-03-02 21:59:47 -08:00
AkiraFukushima
d40caa758e
Use cert-manager and pod-identity-webhook in integration test of irsa
2022-02-20 19:02:54 +09:00
Ole Markus With
9431c0ab69
Update LBC to 2.4.0
2022-02-16 21:39:31 +01:00
Kubernetes Prow Robot
95fc0ac5b8
Merge pull request #13212 from olemarkus/irsa-119
...
Fix irsa for k8s < 1.20
2022-02-09 12:25:49 -08:00
Ole Markus With
f4d8334050
Add test for irsa on k8s 1.19
2022-02-09 08:53:04 +01:00
srikiz
2124c4cf85
Minor fix for json response to keep it consistent for single or multiple clusters
...
Fix tests
another fix to json marshalling
fixes to return a single json object if a specific object is selected
Add changes to docs
2022-02-07 23:59:13 +05:30
Kubernetes Prow Robot
9023720a08
Merge pull request #13103 from heybronson/set-eviction-timeout
...
add node-drain-timeout flag to rolling-update
2022-01-28 01:40:31 -08:00
Bronson Mirafuentes
86b0ef0d0c
add drain-timeout flag to rolling-update cluster
2022-01-20 14:05:55 -08:00
Ole Markus With
dc0e7675ba
Add a k8s 1.23 version of the ccm test
2022-01-20 15:32:46 +01:00
Kubernetes Prow Robot
ef8c74f5fc
Merge pull request #12788 from hakman/ipv6_remove_featureflag
...
Remove featureflag for creating IPv6 clusters
2022-01-18 22:58:05 -08:00
Ole Markus With
0ef596dd49
Do not create an IAM role for dns-controller on gossip clusters
2022-01-16 10:31:11 +01:00
Ole Markus With
321f82368d
Don't try to add node name to instances without node object
2022-01-15 08:04:53 +01:00
Kubernetes Prow Robot
3e5e929423
Merge pull request #12727 from justinsb/kopeio_networking_operator
...
addons: support for kopeio-networking addon
2021-12-31 13:12:53 -08:00
Ole Markus With
ea9d0de847
Handle default in templating instead of ig population
2021-12-30 09:01:43 +01:00
justinsb
8e34e4d101
addons: support for kopeio-networking addon
...
Adding support for the kopeio-networking addon.
We load the operator manifest (which changes rarely) from the channels
directory for now. We follow the same structure as operators
themselves use so that we can support other backends in future.
The channels file includes the current versions of the operators.
During cluster creation, we create these additional objects.
2021-12-29 09:16:15 -05:00
John Gardiner Myers
dae281d30e
Migrate to GCE CCM in k8s 1.24
2021-12-28 19:33:07 -08:00
Kubernetes Prow Robot
e95e359e3a
Merge pull request #13026 from johngmyers/ipv6-only
...
Allow IPv6-only subnets
2021-12-24 02:24:14 -08:00
Ole Markus With
8e59f5bc23
Create create_cluster test for karpenter
2021-12-24 09:20:06 +01:00
Ole Markus With
8f276cf944
Make it possible to create clusters with only karpenter-managed worker nodes
...
Apply suggestions from code review
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-12-24 09:12:59 +01:00
John Gardiner Myers
f9071dd0d5
Allow IPv6-only subnets
2021-12-23 19:50:46 -08:00
Ole Markus With
aa493a3273
Validate IGs more strictly after defaults have applied
...
This commit will ensure IGs are validated in clientset prior to write similar to clusters. Also introduces strict flag similar to cluster, which only validate values where we have defaults after defaults have been applied.
2021-12-20 10:03:04 +01:00
justinsb
f60f2476ed
kops-controller: use controller-runtime manager
...
This gives us access to a managed client, and it lets us hook into the
lifecycle.
2021-12-18 19:38:53 -05:00
Ole Markus With
043dd91417
Add karpenter feature flag
2021-12-12 19:33:41 +01:00
Ole Markus With
794cb72112
Karpenter addon
...
Constrain the instance types to what is supported by the AMI
Add taints and label to karpenter provisioner
Add instance types to karpenter provisioner
2021-12-12 19:33:41 +01:00
Ole Markus With
67e6b3486f
Add integration test for karpenter
2021-12-12 19:33:41 +01:00
John Gardiner Myers
67e8533043
Update name of kubernetes-ca keypair in documentation
2021-12-11 20:50:36 -08:00
Kubernetes Prow Robot
03bcd3bce7
Merge pull request #12930 from olemarkus/integration-minimal-bump
...
Add integration test for k8s 1.24
2021-12-11 04:03:58 -08:00
Ole Markus With
35291c9d49
Add integration test for k8s 1.24
2021-12-11 10:59:45 +01:00
Ciprian Hacman
d00310b0e6
Fix failing test
2021-12-11 11:39:37 +02:00
Kubernetes Prow Robot
f7e66049d6
Merge pull request #12862 from johngmyers/instanceid-nodename
...
Use instance ID as node name when AWS CCM supports it
2021-12-05 14:58:32 -08:00
Peter Rifel
d0b577183f
Add terraform integration test for dedicated apiserver nodes
2021-12-03 22:50:28 -06:00
John Gardiner Myers
7e0e97b566
Rename bastionPublicName in v1alpha3 API
2021-12-02 19:34:48 -08:00
Kubernetes Prow Robot
0be79b25b7
Merge pull request #12867 from hakman/gofumpt_script
...
Add gofumpt scripts
2021-12-01 22:13:32 -08:00
Ciprian Hacman
ea7df00719
Run hack/update-gofmt.sh
2021-12-01 22:39:50 +02:00
Peter Rifel
090c870123
./hack/update-expected.sh
2021-11-30 22:20:10 -06:00
John Gardiner Myers
73f164e229
Use instance ID as node name when AWS CCM supports it
2021-11-30 17:54:54 -08:00
John Gardiner Myers
6fb2cd5aa3
Change DisableSubnetTags to tagSubnets
2021-11-24 23:52:28 -08:00
John Gardiner Myers
9d8cade672
Migrate to AWS CCM in k8s 1.24
2021-11-24 17:46:00 -08:00
Ciprian Hacman
04a8874037
Remove featureflag for creating IPv6 clusters
2021-11-20 08:02:36 +02:00
justinsb
6133250046
gossip: support resolution of k8s.local names from pods
...
We add the hosts plugin to CoreDNS, and we populate a ConfigMap from
kops-controller (when in gossip mode).
This enables resolution of the internal apiserver DNS name from Pods,
even when gossip mode (k8s.local) is in use. This should fix the
failing e2e tests which are assuming that the name in the JWT token is
resolvable from inside the cluster.
This is also a possible step towards a simpler gossip mode, now that
we have a central controller.
2021-11-19 11:02:15 -05:00
John Gardiner Myers
36cd430722
Add integration test for IPv6 private topology
2021-11-16 22:06:09 -08:00
John Gardiner Myers
019fb7d35d
Add create cluster flag for enabling IRSA
2021-11-14 13:52:15 -08:00
Kubernetes Prow Robot
0b696d3076
Merge pull request #12544 from justinsb/decode_non_kops
...
Show additional ("addon") objects in kops get
2021-11-14 11:02:47 -08:00
justinsb
813f2f1431
kops-controller should log port it is listening on
2021-11-14 10:45:13 -05:00
Kubernetes Prow Robot
3ccb26cef2
Merge pull request #12724 from johngmyers/external-dns
...
Upgrade external-dns to 0.10.1 for Kubernetes >= 1.19
2021-11-14 07:14:47 -08:00
Ciprian Hacman
4ede23fbc4
Add minimal integration test for Kubernetes 1.23
2021-11-14 09:34:15 +02:00
John Gardiner Myers
8c8455b8f4
Upgrade external-dns to 0.10.1 for Kubernetes >= 1.19
2021-11-13 23:02:10 -08:00
Eng Zer Jun
425173ae9f
refactor: move from io/ioutil to io and os packages
...
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil . This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-11-12 15:37:18 +08:00
justinsb
39c187ad86
kops get should print additional objects, if they are present
...
If the user has added additional objects, we should print them in the
full object dump.
2021-11-05 08:11:31 -04:00
John Gardiner Myers
9f99d41323
IPv6 requires external CCM
2021-10-31 12:26:30 -07:00
Peter Rifel
1f37132fc9
Check for orphaned data files in integration test source directories
2021-10-29 17:07:51 -05:00
Peter Rifel
c860293783
Add missing cloudformation test invocations
2021-10-29 17:06:15 -05:00
Ciprian Hacman
4597e856de
Add more IPv6 integration tests
2021-10-29 17:35:51 +03:00
Peter Rifel
958db43bb8
./hack/update-expected.sh
2021-10-23 18:01:44 -06:00
justinsb
6c46de3270
kops-controller: register coordination scheme
...
Otherwise we log an error message because we can't discover the GVK
when reporting the leader-election events.
2021-10-19 09:21:12 -04:00
Kubernetes Prow Robot
3ccfaaaf9f
Merge pull request #12285 from justinsb/create_cluster_check_additional_objects
...
tests: create-cluster integration tests should validate additional objects
2021-10-11 23:19:46 -07:00
justinsb
4dc2c062fd
Support GCE TPM verification
2021-10-06 08:40:20 -04:00
John Gardiner Myers
b98fcf35d8
Remove Docker overlayfs upgrade code
2021-10-02 19:01:37 -07:00
Jeroen van Erp
7850c4e284
Add support for YAML/JSON output to 'kops get instances'
2021-09-30 11:25:00 +02:00
Peter Rifel
3311e45767
Truncate cluster name prefix used in event bridge rules
2021-09-29 19:12:49 -05:00
Peter Rifel
83e3d3c75d
Lengthen NTH integration test cluster name
2021-09-29 19:10:04 -05:00
justinsb
fad6db8beb
Refactor bootstrap verifier/authenticator into its own package
...
No code changes, but this avoids a circular package dependency that we
would otherwise introduce in the GCE logic.
2021-09-26 09:43:53 -04:00
John Gardiner Myers
dacccdef40
Fix link to addons documentation
2021-09-23 14:47:02 -07:00
Peter Rifel
4e96f68497
Fix list of supported cloud providers in CLI docs
2021-09-22 20:49:28 -05:00
Kubernetes Prow Robot
defcdedb68
Merge pull request #12366 from justinsb/zone_autocompletion
...
Support zone autocompletion
2021-09-22 17:45:10 -07:00
Kubernetes Prow Robot
74f9a8e2fb
Merge pull request #12342 from eddycharly/irsa-wildcard
...
feat: add support for wildcard in roles generated for IRSA
2021-09-22 16:09:10 -07:00
Charles-Edouard Brétéché
5f523366d6
feat: add support for wildcard in roles generated for IRSA
2021-09-23 00:24:45 +02:00
justinsb
c7e6187493
Support zone completion
...
Refactor cloud listing & zone guessing into its own package.
2021-09-20 09:53:33 -04:00
Peter Rifel
3cc7162089
Remove TerraformJSON test
...
The FF is deprecated and would require a lot of effort to support disabling TerraformManagedFiles (which is required) in this one integration test case
2021-09-17 06:42:27 -05:00
Ole Markus With
81177dc634
Add cloud ipam behind a feature flag
2021-09-16 21:12:29 +02:00
Ole Markus With
88bd1953ce
Have kops-controller assign instance ipv6 prefix to node
2021-09-16 19:25:19 +02:00
Ole Markus With
02f29bdfe7
Add test for cloudipam
2021-09-16 19:25:16 +02:00
justinsb
153cf97049
tests: create-cluster integration tests should validate additional objects
...
As we start creating them for addon support, we want to be sure that
they aren't created elsewhere.
2021-09-06 14:45:40 -04:00
Ole Markus With
f5fed2a08d
Move nvidia config under containerd
2021-09-05 20:28:07 +02:00
Ole Markus With
b144304240
Install nvidia device driver addon
2021-09-05 20:09:04 +02:00
Ole Markus With
b52008d9b6
Add instance state change notification to nth
2021-08-31 22:54:21 +02:00
John Gardiner Myers
f041bdafdc
More kops 1.23 updates
2021-08-28 11:54:39 -07:00
John Gardiner Myers
6655022ce1
Remove support for the Lyft CNI
2021-08-28 11:54:39 -07:00
Peter Rifel
53f7e3b089
Add integration test for cluster names beginning with a digit
...
This will fail until we address each resource type generating terraform resource names that are purely the cluster name
2021-08-27 12:56:58 -05:00
Ole Markus With
67b1ace14f
Validate external-dns spec
2021-08-27 06:32:25 +02:00
Ole Markus With
0152c23c1e
Remove externaldns feature flag
2021-08-27 06:30:01 +02:00
Ole Markus With
ad16042a1f
Add IPs to kubelet server cert
...
Since AWS does not resolve instance hostnames to ipv6, ipv6-only pods that talk to kubelet API has to use node IP, not hostname. Thus we need to add IPs to kubelet server cert.
2021-08-26 20:54:02 +02:00
justinsb
0214c81c89
Update kopeio test to test kopeio networking also
2021-08-15 01:08:59 -04:00
Kubernetes Prow Robot
799b9f4fdf
Merge pull request #12116 from johngmyers/beta-cloud
...
Correct list of beta cloud providers
2021-08-13 08:20:22 -07:00
John Gardiner Myers
4eb5d24e67
Correct list of beta cloud providers
2021-08-07 14:02:06 -07:00
Ole Markus With
0439bb0d76
Remove UseServiceAccountIAM feature flag and rename feature to UseServiceAccountExternalPermissions
2021-08-07 21:20:03 +02:00
Ole Markus With
887439952a
Add ccm integration tests
2021-08-07 10:31:31 +02:00