This topic tells you how to manage egress rules in a Kubernetes Space by using the egress.tanzu.vmware.com
Capability and the EgressPoint
resource in Tanzu Platform. For more information about the Capability and the resource, see About Egress.
You can manage EgressPoint
resources in Tanzu Platform using the Egress tab in your Space. From the Egress tab, you can create new egress points and view, edit, or delete existing egress points.
Before you begin
Before defining an EgressPoint
resource:
-
Install the Tanzu CLI
egress
plug-in if not already installed. -
Create a Space that includes the
egress.tanzu.vmware.com
Capability. For an example Space, see Create an application environment using Spaces. -
Deploy an application to the Space that is configured to make HTTP or HTTPS requests to an endpoint outside the Space.
Create an EgressPoint
You can create an EgressPoint
in Tanzu Platform or using the Tanzu CLI.
- Tanzu Platform UI
- To create an
EgressPoint
using the Tanzu Platform UI:-
Go to Spaces > Overview.
-
Click the Space for which you want to define egress rules.
-
On the Space details page, click the Egress tab.
-
Click Create Egress Point.
-
In the Name text box, enter the name you want for the
EgressPoint
. For example,example-egress
. -
If you want the source to default to the entire Space, deactivate the SourceRef toggle. Otherwise, activate the SourceRef toggle and then fill in the following text boxes:
Text box Example value api Group apps
Kind Deployment
Name account-service
The
SourceRef
points to a Kubernetes resource within the Space. The only supported resources areContainerApp (apps.tanzu.vmware.com)
andDeployment (apps)
. -
Configure the Target Info section with the target you want to access. The target is an array. The
EgressPoint
can contain multiple targets. Fill in the following text boxes:Text box Example value Host api.openai.com
Port 443
Protocol HTTPS
When configuring your
EgressPoint
, you can also Allow egress to an IP address Allow all egress traffic, or Allow egress to a service.For more information about the fields you can configure for the
EgressPoint
resource, see EgressPoint API reference. -
(Optional) To add another target, click Add Target.
-
Click Create Egress Point.
Traffic from the Space can now contact the intended target destination.
-
- Tanzu CLI: egress plug-in
- To create an
EgressPoint
resource using the Tanzu CLIegress
plug-in:-
Target your Space in your terminal by running:
Where
SPACE-NAME
is the name of the Space for which you want to define egress rules. -
Create the
EgressPoint
by running:For example:
For more information about this command, see the CLI reference for tanzu egress.
-
- Tanzu CLI: tanzu deploy
- To create an
EgressPoint
resource using a YAML file andtanzu deploy
:-
Create a file named
egresspoint.yaml
. For example, to enable applications in your Space to accesswww.example.com
, add the following content:When configuring your
EgressPoint
, you can also Allow egress to an IP address Allow all egress traffic, or Allow egress to a service.For more information about the fields you can configure for the
EgressPoint
resource, see EgressPoint API reference. -
Target your Space in your terminal by running:
Where
SPACE-NAME
is the name of the Space for which you want to define egress rules. -
Apply the
egresspoint.yaml
file by running:
-
Allow egress to an IP address
You can create egress targets for IPv4 addresses. The protocol must be TCP
. For example:
Field | Example value |
---|---|
Host | 11.22.33.44 |
Port | 3306 |
Protocol | TCP |
Example YAML file:
For information about valid configuration for the EgressPoint
resource, see the EgressPoint reference.
Allow all egress traffic
To allow egress to all hosts on any port and protocol, create a special allow-any egress target with the following values:
Field | Value |
---|---|
Host | * |
Port | 0 |
Protocol | ANY |
The YAML file looks as follows:
Using port
0
, protocolANY
, or host*
in any other combination or in any other target creates an invalidEgressPoint
.
Allow egress to a service
You can create egress targets for non-HTTP endpoints such as databases. In your EgressPoint
resource, use the TCP
, and if the endpoint supports it, TLS
protocols.
For example:
Field | Example value |
---|---|
Host | my.db.service |
Port | 3306 |
Protocol | TCP |
Example YAML file:
Some services, such as
mysql
, use a server first protocol. Although these protocols might supportTLS
, you must configure the EgressPoint to useTCP
. For information about valid configuration for theEgressPoint
resource, see Supported configurations for EgressPoint.
Delete an EgressPoint
To delete an EgressPoint
using the Tanzu Platform UI:
- Go to Spaces > Overview.
- Click the Space that has the
EgressPoint
you want to delete. - On the Space details page, click the Egress tab.
- On the card for the
EgressPoint
that you want to delete, click Delete.
Content feedback and comments