chore(test): fix byted_testcase_detect
Workaround for byted_testcase_detect See: https://bytedance.larkoffice.com/wiki/wikcn55Mvg2nQV9wUmJr359fo2b?table=tblxCjFzfkZlyJiQ&view=vewJGGuix7
Signed-off-by: Rui Cao caorui.io@bytedance.com
(cherry picked from commit c4efa6f2c703a3bb28bc2b3ab9c0a7f7158c7d74)
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Cello CNI Network Plugin
English | 简体中文
Overview
Cello is a kubernetes CNI plugin based on the Volcengine VPC network. By using the Cello plugin, the intercommunication of the internal network of the kubernetes cluster can be realized in the VPC network environment on the cloud. The kubernetes cluster can natively access to other resources under the same VPC when the access is allowed by security group. Cello uses secondary ENI to build the Pod network, and supports shared ENI mode and ENI multi-IP mode. In both modes, the following basic communication scenarios are supported:
Cello replaces kube-proxy with Cilium to implement kubernetes services to achieve better performance and richer features. It supports the following types of services:
Cello mode
ENI-Multi-IP
Exclusive-ENI
veth-pair.ENI Allocation
Cello is deployed on each node in the form of daemonset, and each Cello instance will independently apply for secondary ENIs and use them to configure pod network. Each ENI will select one of the subnets configured by the user and all security groups configured by the user.
eni_exclusivemode, eni is used directly, the number of pods that can be scheduled on the node is equal toeni_quota-1.eni_sharedmode, the number of pods that can be scheduled on the node is equal to(eni_quota-1)*ip_quota_per_eni.ENI created by Cello will carry some tags to indicate the creator, and Cello will periodically check and recycle its own leaked ENI according to the tags if it is alive. Deploying an operator in the cluster to reclaim the detached ENI when deleting nodes can further avoid ENI leaks, and user intervention is required while cluster is deleted.
Scheduling Perception
Regardless of the mode, Cello will report the number of available network resources by device plugin so that the scheduler can schedule pods to nodes with resources. Users can use this mechanism by adding following requests and limits fields to the first container of pod.
Build
Required
Bin
After make, all the programs and configuration files required for deployment are located in the
outputdirectory.Image
Docker is used by default, and can be compiled with podman through ARG
ENGINE.You also can specify image name by ARG
IMAGE_NAMEand specify image tag by ARGIMAGE_TAG.Installation
Install Kubernetes
Install Cello
credentialAccessKeyIdorramRolepassed to Cello has associated the required IAM policy.Test
Unit Test
Function Test
Make sure the cluster has installed Cello correctly and
kubectlcan connect to the cluster.Built With
Cilium: Cello integrate Cilium components to support NetworkPolicy and optimize the Service performance. Cilium watch NetworkPolicy and Service configuration and inject ebpf program into pod’s primary device.
Community
Contributing
See the CONTRIBUTING.md file for details.
Contact
If you have any questions or want to contribute, you are welcome to communicate most things via GitHub issues or pull requests. Or Contact to Maintainers via email or Feishu group below.
License
Cello is under the Apache 2.0 license. See the LICENSE file for details.
Security and privacy
This project takes security seriously. For vulnerability reporting and supported versions, see SECURITY.md