All Products
Search
Document Center

Update Virtual Kubelet

Last Updated: Sep 08, 2021

Elastic Container Instance uses Virtual Kubelet to deploy virtual nodes and then uses the virtual nodes to connect to Kubernetes. Virtual Kubelet is provided and maintained by the Kubernetes community. To use Elastic Container Instance features, you must keep Virtual Kubelet up-to-date. This topic describes how to update Virtual Kubelet.

Background information

Different types of Kubernetes clusters require different operations to update Virtual Kubelet.

  • For Serverless Kubernetes (ASK) clusters, the system automatically updates Virtual Kubelet.

  • For Container Service for Kubernetes (ACK) clusters, the update method of Virtual Kubelet varies based on the edition of the clusters. For managed ACK clusters, the system automatically updates Virtual Kubelet. For dedicated ACK clusters, you must manually update Virtual Kubelet.

  • For self-managed Kubernetes clusters, you must manually update Virtual Kubelet.

You can use one of the following methods to manually update Virtual Kubelet based on the type of your Kubernetes clusters and the deployment mode of Virtual Kubelet.

Update ack-virtual-node in the ACK console

  1. Log on to the ACK console.

  2. In the left-side navigation pane, click Clusters.

  3. On the Clusters page, click the name of the cluster for which you want to update ack-virtual-node.

  4. In the left-side navigation pane of the details page, choose Operations > Add-ons.

  5. Find ack-virtual-node and click Upgrade.

Run Kubelet commands to modify the configuration file of Virtual Kubelet

  1. Use Kubelet to connect your Kubernetes cluster.

  2. Run the following command to modify the YAML configuration file of Virtual Kubelet:

    kubectl edit deployment -n kube-system virtual-node-controller

    Example of YAML configuration files:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: virtual-node-controller
      namespace: kube-system
      labels:
        app: virtual-node-controller
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: virtual-node-controller
      template:
        metadata:
          labels:
            app: virtual-node-controller
        spec:
          containers:
          - name: virtual-node-controller
            image: registry.cn-beijing.aliyuncs.com/acs/virtual-nodes-eci:v2.******-aliyun  #Change the tag of the image to the latest version.
      env:  
            - name: WEBHOOK
              value: "true"