Pattern Details
CATEGORY
deploymentCREATED BY
UPDATED AT
March 06, 2024VERSION
1.0
What this pattern does:
Depending upon use cases, when an ingress gateway must handle a large number of incoming TLS and secured service-to-service connections through sidecar proxies, the load on Envoy increases. The potential performance depends on many factors, such as size of the cpuset on which Envoy is running, incoming traffic patterns, and key size. These factors can impact Envoy serving many new incoming TLS requests. To achieve performance improvements and accelerated handshakes, a new feature was introduced in Envoy 1.20 and Istio 1.14. It can be achieved with 3rd Gen Intel® Xeon® Scalable processors, the Intel® Integrated Performance Primitives (Intel® IPP) crypto library, CryptoMB Private Key Provider Method support in Envoy, and Private Key Provider configuration in Istio using ProxyConfig.\\\\\\\\\\\\\\
\\\\\\\\\\\\\\
Envoy uses BoringSSL as the default TLS library. BoringSSL supports setting private key methods for offloading asynchronous private key operations, and Envoy implements a private key provider framework to allow creation of Envoy extensions which handle TLS handshakes private key operations (signing and decryption) using the BoringSSL hooks.\\\\\\\\\\\\\\
\\\\\\\\\\\\\\
CryptoMB private key provider is an Envoy extension which handles BoringSSL TLS RSA operations using Intel AVX-512 multi-buffer acceleration. When a new handshake happens, BoringSSL invokes the private key provider to request the cryptographic operation, and then the control returns to Envoy. The RSA requests are gathered in a buffer. When the buffer is full or the timer expires, the private key provider invokes Intel AVX-512 processing of the buffer. When processing is done, Envoy is notified that the cryptographic operation is done and that it may continue with the handshakes.
Caveats and Consideration:
None
Compatibility:
Recent Discussions with "meshery" Tag
- Mar 01 | Issue in deploy the prometheus_on_kubernetes using meshery , iam facing issue of missing k8's handler
- Feb 23 | Workflows not triggered - Meshery Kuma
- Feb 28 | For Discussion: Capturing potential, but unrealized Relationships in Design Snapshots
- Feb 28 | Errors adding/saving and publishing/unpublishing Designs
- Feb 28 | Meshery Development Meeting (Feb. 28th 2024)
- Feb 27 | Error while connecting minikube on meshery
- Jan 16 | How to deploy a sample app in Meshery playground
- Feb 23 | Local Environment Setup TroubleShooting error
- Feb 22 | Unable to access MeshMap visualizer - Could not load MeshMap GraphQL plugin
- Feb 22 | Meshery Build & Release Meeting | Feb 22nd, 2024