Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions content/kubernetes/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ Additionally we consider Cilium CNI as necessary for running the Kubernetes clus
| **Component** | **Description** |
| ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**OpenStack Cloud Controller Manager**](https://github.com/kubernetes/cloud-provider-openstack) | Integrates with OpenStack to provide node metadata, load balancers, and storage support. |
| [**Cert Manager**](https://cert-manager.io/) | Automates the management and issuance of TLS certificates for Kubernetes workloads. Cluster issuer `letsencrypt-prod` available for NGINX Ingress Controller. For Gateway API a cluster issuer will need to be [created](https://cert-manager.io/docs/usage/gateway/). |
| [**Traffic Management**](manage-traffic.md) | - [**Cilium API Gateway (Default)**](https://docs.cilium.io/en/stable/network/servicemesh/gateway-api/gateway-api/): eBPF-based ingress solution with advanced traffic management. We provide GatewayClass `cilium` by default. <br/>- [**NGINX Ingress Controller**](https://kubernetes.github.io/ingress-nginx/): Widely adopted ingress controller with a large ecosystem. Default Ingress Class name is `nginx`. |
| [**Cert Manager**](https://cert-manager.io/) | Automates the management and issuance of TLS certificates for Kubernetes workloads. For Gateway API a cluster issuer will need to be [created](https://cert-manager.io/docs/usage/gateway/). |
| [**Traffic Management**](manage-traffic.md) | - [**Cilium API Gateway (Default)**](https://docs.cilium.io/en/stable/network/servicemesh/gateway-api/gateway-api/): eBPF-based ingress solution with advanced traffic management. We provide GatewayClass `cilium` by default. |
| [**Cinder CSI (optional)**](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/cinder-csi-plugin/using-cinder-csi-plugin.md) | Container Storage Interface (CSI) driver for provisioning and managing OpenStack Cinder volumes. [Making use of Cinder CSI](persistent-volumes.md) for persistent volumes. |
| [**Cilium**](https://cilium.io/) | eBPF-based networking, security, and observability for Kubernetes clusters, providing advanced features like network policies and load balancing. |
| [**NVIDIA Device Plugin**](https://github.com/NVIDIA/k8s-device-plugin) | Enables Kubernetes workloads to request and use GPUs for machine learning, AI, and high-performance compute applications. **Only available if worker nodes have GPU [flavors](../compute/flavors.md)**, see how to [run GPU workloads](gpu.md). |
114 changes: 1 addition & 113 deletions content/kubernetes/manage-traffic.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Kubernetes Cluster Traffic Management

We provide current two means of managing traffic into a kubernetes cluster:
The current means of managing traffic into a kubernetes cluster is:

- [NGINX Ingress](https://github.com/kubernetes/ingress-nginx) when you need simple, Kubernetes-native routing of web traffic into services;
- Cilium [Gateway API](https://gateway-api.sigs.k8s.io/) which offers full API lifecycle management, security, and governance.

| Feature | **Ingress** | **API Gateway** |
Expand Down Expand Up @@ -280,114 +279,3 @@ spec:
statusCode: 301

```

### NGNIX Ingress

We make use of [NGINX demo](https://github.com/nginxinc/NGINX-Demos/tree/master/nginx-hello-nonroot) containers to illustrate NGINX Ingress with a certificate generated using `letsencrypt-prod`.

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: coffee
spec:
replicas: 2
selector:
matchLabels:
app: coffee
template:
metadata:
labels:
app: coffee
spec:
containers:
- name: coffee
image: nginxdemos/nginx-hello:plain-text
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: coffee-svc
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: coffee
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tea
spec:
replicas: 3
selector:
matchLabels:
app: tea
template:
metadata:
labels:
app: tea
spec:
containers:
- name: tea
image: nginxdemos/nginx-hello:plain-text
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: tea-svc
labels:
app: tea
spec:
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: tea
---
```

#### Ingress Configuration

```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: nginx
tls:
- hosts:
- cafe.apps.safesdemo.paas.safedc.net
secretName: cafe-secret
rules:
- host: cafe.apps.safesdemo.paas.safedc.net
http:
paths:
- path: /tea
pathType: Prefix
backend:
service:
name: tea-svc
port:
number: 80
- path: /coffee
pathType: Prefix
backend:
service:
name: coffee-svc
port:
number: 80

```