tencent cloud

Tencent Kubernetes Engine

Release Notes and Announcements
Release Notes
Announcements
Release Notes
Product Introduction
Overview
Strengths
Architecture
Scenarios
Features
Concepts
Native Kubernetes Terms
Common High-Risk Operations
Regions and Availability Zones
Service Regions and Service Providers
Open Source Components
Purchase Guide
Purchase Instructions
Purchase a TKE General Cluster
Purchasing Native Nodes
Purchasing a Super Node
Getting Started
Beginner’s Guide
Quickly Creating a Standard Cluster
Examples
Container Application Deployment Check List
Cluster Configuration
General Cluster Overview
Cluster Management
Network Management
Storage Management
Node Management
GPU Resource Management
Remote Terminals
Application Configuration
Workload Management
Service and Configuration Management
Component and Application Management
Auto Scaling
Container Login Methods
Observability Configuration
Ops Observability
Cost Insights and Optimization
Scheduler Configuration
Scheduling Component Overview
Resource Utilization Optimization Scheduling
Business Priority Assurance Scheduling
QoS Awareness Scheduling
Security and Stability
TKE Security Group Settings
Identity Authentication and Authorization
Application Security
Multi-cluster Management
Planned Upgrade
Backup Center
Cloud Native Service Guide
Cloud Service for etcd
TMP
TKE Serverless Cluster Guide
TKE Registered Cluster Guide
Use Cases
Cluster
Serverless Cluster
Scheduling
Security
Service Deployment
Network
Release
Logs
Monitoring
OPS
Terraform
DevOps
Auto Scaling
Containerization
Microservice
Cost Management
Hybrid Cloud
AI
Troubleshooting
Disk Full
High Workload
Memory Fragmentation
Cluster DNS Troubleshooting
Cluster kube-proxy Troubleshooting
Cluster API Server Inaccessibility Troubleshooting
Service and Ingress Inaccessibility Troubleshooting
Common Service & Ingress Errors and Solutions
Engel Ingres appears in Connechtin Reverside
CLB Ingress Creation Error
Troubleshooting for Pod Network Inaccessibility
Pod Status Exception and Handling
Authorizing Tencent Cloud OPS Team for Troubleshooting
CLB Loopback
API Documentation
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
FAQs
TKE General Cluster
TKE Serverless Cluster
About OPS
Hidden Danger Handling
About Services
Image Repositories
About Remote Terminals
Event FAQs
Resource Management
Service Agreement
TKE Service Level Agreement
TKE Serverless Service Level Agreement
Contact Us
Glossary

Change Records of VPC-CNI Component

PDF
Focus Mode
Font Size
Last updated: 2024-11-14 15:43:10
The VPC-CNI component contains three Kubernetes cluster components: tke-eni-agent, tke-eni-ipamd, and tke-eni-ip-scheduler. Generally, their versions are the same. However, tke-eni-ip-scheduler is less modified, so its version may be a little earlier.

Checking the Component Version

The component version is the image tag. You can check it via the kubernetes API.
# Checking the version of tke-eni-agent
kubectl -nkube-system get ds tke-eni-agent -o jsonpath={.spec.template.spec.containers[0].image}
# Checking the version of tke-eni-ipamd
kubectl -nkube-system get deploy tke-eni-ipamd -o jsonpath={.spec.template.spec.containers[0].image}
# Checking the version of tke-eni-ip-scheduler
kubectl -nkube-system get deploy tke-eni-ip-scheduler -o jsonpath={.spec.template.spec.containers[0].image}

Change Records

Version Number
Release Date
Updates
Impacts
v3.4.7
2022-09-07
Supports the preferential scheduling policy of ip-scheduler, where Pods with static IP addresses are preferentially scheduled to the ENIs matching the subnet.
eni-ipamd supports the dry run to sync existing custom resources (CRs) and promptly discover change exceptions.
Optimizes the polling logic for ENI-IP address binding to reduce the errors caused by ENIs/IP addresses that are being bound.
Fixed the occasional issue where internally allocated IP addresses are leaked when shared ENIs are released in non-static IP address mode.
No impact on services
v3.4.6
2022-07-26
Supports the native node pool.
No impact on services
v3.4.5
2022-06-28
The non-static IP address mode of shared ENIs supports IPv4/IPv6 dual-stack. In dual-stack mode, each Pod will be allocated an IPv6 IP address and an IPv4 IP address.
Fixed the issue where the EIP becomes invalid due to nodeLost on super nodes. After the fix, the EIP will be bound again.
No impact on services
v3.4.4
2022-06-06
By default, the EIP is tagged with tke-clusterId and tke-created-eip and inherits the TKE cluster's tag.
Supports unbinding ENIs in instances that have been shut down.
Optimizes ip-scheduler and fixed the issue of slow start due to too many subnets.
No impact on services
v3.4.3
2022-04-13
eni-ipamd and ip-scheduler support disabling subnets. Disabled subnets can be allocated only to specified objects by setting the --only-nominated-eni-subnets startup parameter.
The static IP address mode supports specifying subnets for Pods through the tke.cloud.tencent.com/nominated-eni-subnets annotation. Multiple subnets need to be separated by comma.
eni-agent supports protecting key kernel parameters of the system and adopting new TLinux features to prevent kernel parameters (rp_filterand ip_forward) from being modified.
Fixed the occasional issue where the eni-ip resource of the node fails to be registered due to kubelet restart during node initialization in shared ENI mode.
Fixed the issue where the IP garbage collection mechanism fails due to dockershim or containerd restart during container running.
No impact on services
v3.4.2
2022-03-04
The non-static IP address mode supports specifying the ENI and subnet of the node.
eni-agent supports automatically setting ip_forward and rp_filter kernel parameters on schedule to avoid network failures due to their changes.
Optimizes the scheduling performance. In shared ENI mode, if an ENI is being bound, the polling wait occurs to reduce scheduling failures.
Fixed the occasional issue where eni-ip extension resources are lost due to high node loads.
Attempts to delete and recreate the ENI and IP address that are pending for a long time; fixed the issue where the ENI and IP address become unavailable for a long time due to underlying failures.
No impact on services
v3.4.1
2022-01-21
Supports scheduling Pods to TKE Serverless nodes and maintaining the IP address in static IP address mode.
Supports specifying the EIP through the `tke.cloud.tencent.com/eip-id-list` annotation.
Supports binding dedicated ENIs to security groups in non-static IP address mode.
Upgrades the CRD API to v1 and supports Kubernetes 1.22.
Fixed the occasional issue where the IP status is not synced in static IP address mode.
No impact on services
v3.4.0
2021-12-08
Supports static IP addresses with multiple ENIs.
Supports underlay connection in and off the hybrid cloud and elastic Pod deployment.
Fixed the issue of incorrect CNI data plane settings due to occasional CNI concurrency in the same Pod.
No impact on services
v3.3.9
2021-11-09
Fixed repeat creation of an EIP caused by the network.
Pods with independent ENIs in non-static IP address mode can be bound to an EIP.
Optimizes the mechanism of expansion resources for eni-agent to make the management of expansion resources more stable and robust.
Fixed the issues caused by inconsistency between quota set for the node and the actual quota.
Optimizes IP garbage collection mechanism for eni-agent. If there is a dirty container in the Pod that is being created, the reclaimed IPs will be allocated to a new container in the Pod.
Optimizes the calculating method for resources of the used IPs and ENIs in non-static IP address mode. Fixed the issue of inaccurate calculation of resources caused by the Pod status of Error, Evicted and Completed etc.
No impact on services
v3.3.8
2021-08-17
--master can configure the backend kube-apiserver address without relying on kube-proxy.
eni-agent supports --kube-client-qps and --kube-client-burst to configure QPS and Burst of kube client, and the default values increase to 10 and 20 respectively.
If eni-agent finds that the updated expansion resources are less than original ones, it will update the latest expansion resources information in the node status to prevent issues caused by async updating of kubelet.
No impact on services
v3.3.7
2021-08-13

eni-ipamd supports --enable-node-condition and --enable-node-taint. If eni-ip or direct-eni is missed on the node after enabling, the condition or taints of the node will be set.
EIP supports parsing new API parameters in json format.
Fixed the issue where the allocated IPs may be reclaimed improperly by garbage collection of eni-agent in containerd runtime.
Fixed ipamd panic that may be caused by the EIP API.
Fixed the issue where an ENI is unbound because disable-node-eniannotation is set improperly when the non-static IP mode is upgrading.
No impact on services
v3.3.6
2021-07-26
Fixed the issue where the allocated IPs and routes may be reclaimed improperly because of the garbage collection mechanism of eni-agent.
Fixed the issue where IPs may be released before the Pod when deleting deployment and other upper-layer resources after --enable-ownerref is enabled for eni-ipamd.
No impact on services
v3.3.5
2021-07-20
Fixed the issue where locally stored data of the Pod cannot be deleted because of improper deletion of the IPs or ENIs of the Pod with a shared ENI/exclusive ENI in non-static IP address mode.
Fixed the issue where CNI information of a shared ENI/exclusive ENI does not store and verify ENI information of the Pod in non-static IP address mode.
No impact on services
v3.3.4
2021-07-07
Fixed the issue where the component continues trying to unbind the ENI in the condition that the CVM has shut down.
Fixed the panic caused by the concurrent writes of asynchronous logs.
Optimizes the ENI synchronization logic in non-static IP address mode to ensure internal data consistency and prevent the ENIs in use from being unbound.
Fixed the issue where the existing nodes cannot allocate IPs caused by insufficient IPs in the subnet of the cluster upgrading from v3.2 in non-static IP address mode.
Fixed the issue where the ENI may be incorrectly released when the primary IP of the existing ENI is being used by the Pod.
No impact on services
v3.3.3
2021-06-07
Supports hybrid cloud ipam, and it can work in collaboration with the cilium overlay/underlay mode.
No impact on services
v3.3.2
2021-06-01
ip-scheduler supports occupancy caused by insufficiency of default resources, and does not support occupancy caused by insufficiency of IP resources.
The security group feature logic of the shared ENI is reconstructed. It supports strong synchronization with the security group set on the node to ensure that the binding sequence and priority of security groups is consistent with that in user’s settings.
Supports the cilium cni-chain mode.
For eni-agent, hostPort field can be configured for the Pod after --port-mapping is enabled.
The annotation tke.cloud.tencent.com/claim-expired-duration can be added to the Pods to reclaim static IPs in specific time. The annotation only affects the added Pods.
No impact on services
v3.3.1
2021-05-11
Multiple ENIs can be used in shared ENI non-static IP address mode.
Tencent Cloud API can call API QPS limits, and the limit for a single cluster is 50 QPS by default (limit by the type of CVM, VPC and TKE).
Changes of IP quota can be perceived after upgrading of non-static IP address mode.
The annotation tke.cloud.tencent.com/desired-route-eni-pod-num can be added for node. The desired number of route-eni ip can be written and the node quota will be adjusted automatically by the component after the writing.
Fixed the issue of VPC task polling timeout caused by the fact that the VPC task does not exist.
Fixed the issue of eni-ipamd panic caused by failure of task creation for the ENI.
Optimizes routing reconciliation logic and only clears the IP routes managed by eni-agent.
Fixed the issue of exceptional panic occurred at the time of ENI releasing in the independent ENI non-static IP address mode caused by the fact that the ENI has already been released.
No impact on services
v3.3.0
2021-04-13
Supports customized GR mode. Multiple CIDR blocks can be set in a node and a cluster.
No impact on services
v3.2.6
2021-03-31
Reduces the time of retrying for binding an ENI in exclusive ENI mode and improves binding efficiency.
Reduces failures of concurrent binding and unbinding of ENIs, and improves the efficiency of binding and unbinding through concurrency control.
Optimizes subnet allocation logic for an ENI in non-static IP address mode. Fixed the issue where some nodes cannot obtain IPs in the condition that IPs are sufficient when the nodes are added concurrently.
The garbage collection mechanism of eni-agent supports self-awareness of the underlying runtime and supports containerd.
No impact on services
v3.2.5
2021-02-22
dnsConfig is added when eni-ipamd and ip-scheduler are deployed to avoid the issues caused by the DNS that are created by users.
In the shared ENI static IP address mode, the information of subnetID of the ENI that is bound to each node will be synced to the label of the node, and the key is tke.cloud.tencent.com/route-eni-subnet-ids.
eni-agent will try to obtain the reasons for failures of IP allocation and return them to the CNI plugin to make them reflect in the Pod event.
A bare Pod can specify an IP through the annotation tke.cloud.tencent.com/nominated-vpc-ip.
eni-agent supports periodic test for the connection with APIServer. It will restart automatically if a timeout occurs.
Fixed the waste of IPs caused by internal data inconsistency.
No impact on services


Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback