“K8S Ecology Weekly” mainly contains some recommended weekly information related to K8S ecology that I have come into contact with. Welcome to subscribe zhihu column “K8S Ecology”.

KIND V0.10 is released

KIND (Kubernetes In Docker) is a subproject of Kubernetes SIG that I like very much and have been contributing to. This week, KIND released v0.10 version, and more than 4 months have passed since the last V0.9 version. During this period, We made a lot of optimizations and improvements. Let me introduce it in detail:

Disruptive change

This section is obviously the one you care about the most, and there are three things to note here:

  • The default Node image version has been updated to Kubernetes V1.20.2, so some aspects of Kubernetes feature changes need to be noted.
  • The default IPv6 Pod subnet has been changed from /64 to /56. This change is based on RIPE’s best practices for IPv6 subnet planning.
  • We can guarantee KIND’s full compatibility with V1.14.0 + Kubernetes for now, but we can only do our best with v1.13.x;

New features

  • When building a Kubernetes image for v1.19+, you can not build the Dockershim component to reduce the size of the image;
  • By optimizing compilation parameters, the size of KIND binaries is significantly reduced (~7MB);
  • kind export logsThe exported logs will contain the version information of KIND for better problem locating.
  • Experimental use of GitHub Action CI to provide docker/ Podman/Cgroup V2 environment support;
  • Document content optimization and improvement, including WSL2, load balancing and other aspects;

correction

  • Optimized cgroups-related processing logic;
  • Optimized the content of some error messages

You can download the pre-compiled binaries directly from the Release page of KIND V0.10.0, and feel free to feedback if you have any questions.

The Helm V3.5 is released

Helm V3.5 is a feature version of Helm that focuses on OCI support and template functions. Here are some of the changes THAT I think are worth noting:

  • The Helm template now supports more than 20 new functions. For details, see Sprig’s list.

  • #8843 Allows downloading Chart from the OCI warehouse and updating dependencies via helm pull OCI ://, provided the HELM_EXPERIMENTAL_OCI environment variable has been set.

  • #8886 added a skip-refresh parameter to helm DEp build so that caches in the local repository are not refreshed;

  • #8363 added a wait-for-jobs parameter. If –wait is set at the same time, helm install and other commands will wait for all jobs to complete. Of course, it is also affected by the –timeout parameter, and the maximum wait time is not longer than the timeout set;

  • #8958 adds –kube-cafile and the equivalent HELM_KUBECAFILE environment variable to specify the CA when connecting to Kubernetes. Prior to this change, Kubernetes cluster certificates would fail if they were not trusted at the system level, saying something like X509: Certificate signed by Unknown Authority. Here are three possible solutions:

    • Trust certificates at the system level, I won’t go into that;
    • Kubeconfig add certificate-authority:
    KUBECONFIG=~/.mycustomkubeconfig kubectl config set-cluster internal.company --server=https://internal.company:443 --certificate-authority=/tmp/ca.crt kubectl config set-context some-context --cluster=internal.company --namespace=myns kubectl config use-context some-context HELM_NAMESPACE=myns HELM_KUBEAPISERVER=https://internal.company:443 helm install  --kubeconfig="${KUBECONFIG}" some-app company/some-appCopy the code
    • Provided hereHELM_KUBECAFILEEnvironment variables of:
    HELM_NAMESPACE=myns HELM_KUBEAPISERVER=https://internal.company:443 HELM_KUBECAFILE=/tmp/ca.crt helm install some-app company/some-app
    Copy the code

    As you can see, it’s a lot easier.

  • #8626 replaces Helm Hub with Artifact Hub. I at last year’s K8S ecological weekly | Helm five years old! It has been introduced in detail, interested partners can look at the specific content;

For more information about changes in this release, refer to its ReleaseNote

The event

  • Docker donated Distribution to CNCF. Docker Distribution is the bottom realization of Docker Hub and many mirror warehouses. Donation to CNCF is expected to bring stronger vitality.
  • Docker Hub Tool open source can be in my previous Docker Hub Tool article to understand its specific features;

Progress in the upstream

  • #96021 If an exception occurs during the creation of a data file on a CSI volume, the data file and the volume path will not be deleted automatically.
  • # 98678The TTLAfterFinished feature is enabled by default and upgraded to beta. This feature is used to control the cleaning time after the Job and Pod are completed.spec.ttlSecondsAfterFinishedThis value can be changed after the resource is created or completed. However, once the TTL is exceeded and K8S determines that the resource can be deleted, modifying the TTL will have no effect.

Please feel free to subscribe to my official account [MoeLove]

!