-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for GKE image streaming feature #10509
Comments
when can this feature be added ? |
It's released in one of previous releases. |
There is strange thing around this... https://cloud.google.com/blog/products/containers-kubernetes/introducing-container-image-streaming-in-gke reference an option at cluster level (and only at this level). And there is one displayed on the console. https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/container_cluster#gcfs_config reference an option at nodepool level. Not sure how to display it, but I guess it exists... If you set the gcfs option on your node pool and execute terraform, the "image streaming" option on the cluster is still disabled ... but kube event display some ImageStreaming activities. So yes a little bit disturbing. |
Logcal to me is that images are downloaded to nodes which actually run workloads compared to control plane which doesn't. |
@pentago Based on what @GregoireW has said and my own findings it doesn't look like this is supported. At least, there is no |
Its called differently,something like *gcfs. Go through provider release changelog and you should find it. |
hashicorp/terraform-provider-google-beta#3828 Added in 4.1.0 |
@cedws to be clear it works if you set the gcfs option on the node. @pentago I just read the documentation, I guess there was an update few weeks back (or I did not read it correctly), now it is clearly stated the pool inherit the cluster option if it is set. https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming#enable_on_clusters So yes, the terraform option is ok, (well, the name is not streaming so perhaps confusing ) A small tip on the cluster resource stating terraform will not set the streaming option globally but only on node pool may also be welcome. |
Hello everyone,
I tried to deploy a cluster from scratch to test this feature, but I realized that this would not enable this feature on my default node pool. Any suggestion or tips to have this feature will be appreciated. |
The google provider state (from here https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/container_cluster#node_pool )
So ... simply do not set node pool inside the cluster definition but use the recommended way and use additional(s) google_container_node_pool resource. Some update will still need to drop your pool and recreate a new one, but your cluster will not be destroyed. By auto-provisioning I guess you means https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/container_node_pool#nested_autoscaling it should work without any issue (It works as expected on one of my cluster with this kind of setup) if all the requirements are ok : https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming#requirements |
@GregoireW First of all thanks for your quick response. I suppose it would be more helpful if you see my GKE config. I tried to follow the best practices:
This configuration is supposed to enable the image streaming on the cluster level and the Node auto provisioning follow that configuration, but the problem is this configuration doesn't work as expected. every time I get this result:
There are two questions and it would be great if you can answer them:
Thanks a lot |
The Terraform set the gcfs configuration at node level, not cluster level, so you have to :
The pool should reference an image type Additional note: the feature display at cluster level |
This option is a bit weirdly implemented, as via the google apis, its clearly possible to update an existing node pool, but terraform seems this as a change that forces replacement |
@GregoireW I'm using https://github.com/terraform-google-modules/terraform-google-kubernetes-engine to build our GKE cluster and nodepool and can't add below strucutre. is it something in the future that is going to support for enabiling image streaming and gcfs on the cluster level or nodepool level ? gcfs_config { node_config { |
@rahul-mereddy I'm not affiliated to google nor hashicorp. I'm just a user of this module. but this feature already exist on the nodepool level. |
It would still be nice to be able to set it on the cluster level so the corresponding UI option shows |
Current solution only support enabling image streaming on node pool level for a manually managed node pool (not via GKE Node Auto Provisioning. Unfortunately, for NAP, it does't support enabling image streaming at the node pool level yet, so for NAP user, current solution won't work. GKE allows enabling |
* Support enabling GKE image streaming at the cluster level. See hashicorp/terraform-provider-google#10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from #6488.
…icorp#6488) * Support enabling GKE image streaming at the cluster level. See hashicorp/terraform-provider-google#10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from GoogleCloudPlatform/magic-modules#6488. Signed-off-by: Modular Magician <[email protected]>
… (#4648) * Support enabling GKE image streaming at the cluster level. See hashicorp/terraform-provider-google#10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from GoogleCloudPlatform/magic-modules#6488. Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
…icorp#6488) * Support enabling GKE image streaming at the cluster level. See hashicorp#10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from GoogleCloudPlatform/magic-modules#6488. Signed-off-by: Modular Magician <[email protected]>
… (#12452) * Support enabling GKE image streaming at the cluster level. See #10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from GoogleCloudPlatform/magic-modules#6488. Signed-off-by: Modular Magician <[email protected]> Signed-off-by: Modular Magician <[email protected]>
…leCloudPlatform#6488) * Support enabling GKE image streaming at the cluster level. See hashicorp/terraform-provider-google#10509 * minor fix to schemaGcfsConfig method. * Support update node pool default configuration at the cluster level. * Address comments from GoogleCloudPlatform#6488.
Is this still an issue? Or is still some feature that is missing? |
I just configured
in resource Don't forget to enable API |
@muffl0n that's indeed how you enable it! But unfortunately my comment (#10509 (comment)) still applies, as the cluster-wide flag for image streaming does not get set with this. |
Hey is anyone having issues with this? I tried the exact same config that @muffl0n used. The It appears though replacement should be automatically triggered? |
Another issue probably not related to this terraform provider but GKE itself - I noticed even when image streaming is enabled at cluster level using |
Yes I have enabled it on node level but When i view under features It still says disabled. |
…shicorp#10509) Co-authored-by: Riley Karson <[email protected]> [upstream:a9f50a0e183a9763d77370a6276524283888bc20] Signed-off-by: Modular Magician <[email protected]>
…0509) (#17931) [upstream:a9f50a0e183a9763d77370a6276524283888bc20] Signed-off-by: Modular Magician <[email protected]>
Description
Add support for image streaming configuration as per feature announcement blog post.
New or Affected Resource(s)
Potential Terraform Configuration
References
Feature anouncement: https://cloud.google.com/blog/products/containers-kubernetes/introducing-container-image-streaming-in-gke
b/299312474
The text was updated successfully, but these errors were encountered: