Skip to content
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

Support for setting tls-min-version and tls-cipher-suites in kubelet_config #19280

Closed
1 task done
hobti01 opened this issue Nov 14, 2022 · 5 comments
Closed
1 task done
Labels
enhancement sdk/not-yet-supported Support for this does not exist in the upstream SDK at this time service/kubernetes-cluster upstream/microsoft/needs-support-on-azure-api This label is applicable when support for a feature is not currently available on the Azure API.

Comments

@hobti01
Copy link

hobti01 commented Nov 14, 2022

Is there an existing issue for this?

  • I have searched the existing issues

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

kubelet_config in azurerm_kubernetes_cluster.default_node_pool and azurerm_kubernetes_cluster_node_pool does not allow setting kubelet arguments tls-min-version or tls-cipher-suites. This prevents the configuration of the kubelet to for secure TLS versions, i.e. TLS 1.2 or higher.

These arguments and allowed values are described here https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/

New or Affected Resource(s)/Data Source(s)

azurerm_kubernetes_cluster, azurerm_kubernetes_cluster_node_pool

Potential Terraform Configuration

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_kubernetes_cluster" "example" {
  name                = "example-aks1"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  dns_prefix          = "exampleaks1"

  default_node_pool {
    name       = "default"
    node_count = 1
    vm_size    = "Standard_D2_v2"

    kubelet_config {
      tls_min_version = "VersionTLS12"
      tls_cipher_suites = [
        "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
        "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
        "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
        "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
      ]
    }
  }
}

resource "azurerm_kubernetes_cluster_node_pool" "example" {
  name                  = "internal"
  kubernetes_cluster_id = azurerm_kubernetes_cluster.example.id
  vm_size               = "Standard_DS2_v2"
  node_count            = 1

  kubelet_config {
    tls_min_version = "VersionTLS12"
    tls_cipher_suites = [
      "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
      "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
      "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
      "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
      "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
      "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
    ]
  }
}

References

#11119 provided a limited set of kubelet arguments, but not these TLS related arguments.

@aristosvo
Copy link
Collaborator

@hobti01 Thanks for opening this issue.

Can you point me to the docs describing the functionality being available for AKS? Based on this docs it seems this is not supported (yet).

@hobti01
Copy link
Author

hobti01 commented Nov 14, 2022

Ah you are certainly right, it does not look to be supported yet. I have opened Azure/AKS#3334 to request this.

@aristosvo aristosvo added the upstream/microsoft Indicates that there's an upstream issue blocking this issue/PR label Nov 15, 2022
@stephybun stephybun added the sdk/not-yet-supported Support for this does not exist in the upstream SDK at this time label Mar 2, 2023
@thiagoescobar
Copy link

Any updates on this issue or roadmap for this to be implemented?

@rcskosir rcskosir added upstream/microsoft/needs-support-on-azure-api This label is applicable when support for a feature is not currently available on the Azure API. and removed upstream/microsoft Indicates that there's an upstream issue blocking this issue/PR labels Mar 6, 2024
@rcskosir
Copy link
Contributor

rcskosir commented Mar 6, 2024

Thanks for taking the time to open this issue. It looks like the behavior you requested is not supported by the underlying Azure API so I am going to label this issue as such and close it for now. The upstream request can be tracked here: Azure/AKS#3334
When it gets added, we can reopen this request or you can create a new one.

@rcskosir rcskosir closed this as not planned Won't fix, can't repro, duplicate, stale Mar 6, 2024
Copy link

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 20, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement sdk/not-yet-supported Support for this does not exist in the upstream SDK at this time service/kubernetes-cluster upstream/microsoft/needs-support-on-azure-api This label is applicable when support for a feature is not currently available on the Azure API.
Projects
None yet
Development

No branches or pull requests

5 participants