Skip to content

Commit 5259b7c

Browse files
authored
updates (#258)
* updates
1 parent ad1f1c2 commit 5259b7c

27 files changed

+347
-85
lines changed

config/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ def path_nav(page):
99

1010
return f"<nav id=\"-path-nav\"><div>{links}</div></nav>"
1111

12-
skupper_cli_version = '2.0.0-rc1'
12+
skupper_cli_version = '2.0.0'

input/console/index.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
<a id="console"></a>
12
# Using the Network console
23

34
The Network console provides data and visualizations of the traffic flow between sites.
45

6+
<a id="console-enabling"></a>
57
## Enabling the Network console
68

79
**Prerequisites**
@@ -23,6 +25,7 @@ The Network console provides data and visualizations of the traffic flow between
2325
```
2426
helm install skupper-network-observer oci://quay.io/skupper/helm/network-observer --version {{skupper_cli_version}}
2527
```
28+
2629
The output is similar to the following:
2730
```
2831
Pulled: quay.io/skupper/helm/network-observer:2.0.0
@@ -61,7 +64,9 @@ The Network console provides data and visualizations of the traffic flow between
6164
```
6265
oc expose skupper-network-observer
6366
```
64-
## Exploring the Skupper console
67+
68+
<a id="console-exploring"></a>
69+
## Exploring the Network console
6570

6671
The Network console provides an overview of the following:
6772

input/install/index.md

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Installing the Skupper controller
1+
<a id="kube-installing-controller"></a>
2+
# Installing the Skupper controller on Kubernetes
23

34
Before you can create a site on Kubernetes, you must install the Skupper controller.
45
You can install the controller using the following methods:
@@ -7,29 +8,39 @@ You can install the controller using the following methods:
78
* Helm charts
89
* Operator
910

11+
After installing the Skupper controller, you can create sites using the CLI or YAML:
12+
13+
* [Creating a site using the CLI][cli-site]
14+
* [Creating a site using YAML][yaml-site]
15+
16+
[cli-site]: ../kube-cli/site-configuration.html
17+
[yaml-site]: ../kube-yaml/site-configuration.html
18+
19+
**NOTE**: If you install the controller scoped to cluster, you can create sites in any namespace.
20+
If you scope the controller to a namespace, you can only create sites in that namespace.
21+
22+
23+
<a id="kube-installing-controller-yaml"></a>
1024
## Installing the Skupper controller using YAML
1125

1226
**Prerequisites**
1327

1428
* cluster-admin access to cluster
1529

16-
Install the latest version using the following commands:
30+
Install a cluster-scoped controller using the following commands:
1731

1832
```
19-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_access_grant_crd.yaml
20-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_access_token_crd.yaml
21-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_attached_connector_anchor_crd.yaml
22-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_attached_connector_crd.yaml
23-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_certificate_crd.yaml
24-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_connector_crd.yaml
25-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_link_crd.yaml
26-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_listener_crd.yaml
27-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_router_access_crd.yaml
28-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_secured_access_crd.yaml
29-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/config/crd/bases/skupper_site_crd.yaml
30-
kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/cmd/controller/deploy_cluster_scope.yaml
33+
kubectl apply -f https://github.com/skupperproject/skupper/releases/download/{{skupper_cli_version}}/skupper-cluster-scope.yaml
3134
```
3235

36+
Install a namespace-scoped controller using the following commands:
37+
38+
```
39+
kubectl apply -f https://github.com/skupperproject/skupper/releases/download/{{skupper_cli_version}}/skupper-namespace-scope.yaml
40+
```
41+
42+
43+
<a id="kube-installing-controller-helm"></a>
3344
## Installing the Skupper controller using the Skupper Helm charts
3445

3546
**Prerequisites**
@@ -40,17 +51,28 @@ kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/v2/cmd
4051

4152
**Procedure**
4253

43-
1. Run the following command to install the Skupper controller on a cluster:
54+
Run the following command to install a cluster-scoped controller:
4455

45-
```
46-
helm install skupper oci://quay.io/skupper/helm/skupper --version {{skupper_cli_version}}
47-
```
48-
2. Optionally install the network observer:
49-
```
50-
helm install skupper-network-observer oci://quay.io/skupper/helm/network-observer --version {{skupper_cli_version}}
51-
```
56+
```
57+
helm install skupper oci://quay.io/skupper/helm/skupper --version {{skupper_cli_version}}
58+
```
59+
To install a namespace-scoped controller, add the `--set scope=namespace` option.
5260

5361

5462
<!--
63+
<a id="kube-installing-controller-operator"></a>
5564
## Installing the Skupper controller using the Skupper Operator
65+
66+
**Prerequisites**
67+
68+
* cluster-admin access to cluster
69+
* OpenShift
70+
71+
**Procedure**
72+
73+
1. Navigate to the **OperatorHub** in the **Administrator** view.
74+
2. Search for `Skupper`, provided by `Skupper project`.
75+
3. Select **stable-2.0** from **Channel**.
76+
4. Select the latest **Version**.
77+
5. Click **Install**.
5678
-->

input/kube-cli/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<a id="kube-cli"></a>
12
# Overview of Skupper CLI on Kubernetes
23

34
You can use the `skupper` CLI on Kubernetes after installing the Skupper controller to configure sites, links and services.

input/kube-cli/service-exposure.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<a id="kube-exposing-services-cli"></a>
12
# Exposing services on the application network using the CLI
23

34
After creating an application network by linking sites, you can expose services from one site using connectors and consume those services on other sites using listeners.
@@ -6,6 +7,8 @@ For example, if you create a connector with the routing key `backend`, you need
67

78
This section assumes you have created and linked at least two sites.
89

10+
<a id="kube-creating-connector-cli"></a>
11+
<!-- Creating a connector on Kubernetes using the CLI -->
912
## Creating a connector using the CLI
1013

1114
A connector binds a local workload to listeners in remote sites.
@@ -47,7 +50,8 @@ For more information about connectors see [Connector concept][connector]
4750

4851
There are many options to consider when creating connectors using the CLI, see [CLI Reference][cli-ref], including *frequently used* options.
4952

50-
53+
<a id="kube-creating-listener-cli"></a>
54+
<!-- Creating a listener on Kubernetes using the CLI -->
5155
## Creating a listener using the CLI
5256

5357
A listener binds a local connection endpoint to connectors in remote sites.

input/kube-cli/site-configuration.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
<a id="kube-creating-site-cli"></a>
12
# Creating a site on Kubernetes using the Skupper CLI
23

34
Using the skupper command-line interface (CLI) allows you to create and manage sites from the context of the current namespace.
45

56
A typical workflow is to create a site, link sites together, and expose services to the service network.
67

8+
<a id="kube-checking-cli"></a>
79
## Checking the Skupper CLI
810

911
Installing the skupper command-line interface (CLI) provides a simple method to get started with Skupper.
@@ -17,6 +19,7 @@ Installing the skupper command-line interface (CLI) provides a simple method to
1719
cli {{skupper_cli_version}}
1820
```
1921

22+
<a id="kube-creating-simple-site-cli"></a>
2023
## Creating a simple site using the CLI on Kubernetes
2124

2225
**Prerequisites**
@@ -67,6 +70,7 @@ For example
6770
```
6871
You can check the status of the site at any time using `skupper site status`.
6972

73+
<a id="kube-deleting-site-cli"></a>
7074
## Deleting a site using the CLI on Kubernetes
7175

7276
**Prerequisites**
@@ -84,5 +88,4 @@ For example
8488
```bash
8589
skupper site delete
8690
```
87-
8891
[cli-ref]: https://skupperproject.github.io/refdog/commands/index.html

input/kube-cli/site-linking.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
<a id="kube-linking-cli"></a>
12
# Linking sites on Kubernetes using the Skupper CLI
23

34
Using the Skupper command-line interface (CLI) allows you to create links between sites.
45
The link direction is not significant, and is typically determined by ease of connectivity. For example, if east is behind a firewall, linking from east to west is the easiest option.
56

67
Once sites are linked, services can be exposed and consumed across the application network without the need to open ports or manage inter-site connectivity.
78

9+
<a id="kube-token-cli"></a>
810
## Linking sites using a token
911

1012
A token provides a secure method to link sites.
@@ -76,6 +78,7 @@ To link sites, you create a token on one site and redeem that token on the other
7678

7779
There are many options to consider when linking sites using the CLI, see [CLI Reference][cli-ref], including *frequently used* options.
7880

81+
<a id="kube-link-cli"></a>
7982
## Linking sites using a `link` resource
8083

8184
An alternative approach to linking sites using tokens is to create a `link` resource YAML file using the CLI, and to apply that resource to another site.

input/kube-yaml/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<a id="kube-yaml"></a>
12
# Overview of using YAML CLI on Kubernetes
23

34
You can use YAML on Kubernetes after installing the Skupper controller to

input/kube-yaml/service-exposure.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<a id="kube-exposing-services-yaml"></a>
12
# Exposing services on the application network using YAML
23

34
After creating an application network by linking sites, you can expose services from one site using connectors and consume those services on other sites using listeners.
@@ -6,6 +7,8 @@ For example, if you create a connector with the routing key `backend`, you need
67

78
This section assumes you have created and linked at least two sites.
89

10+
<a id="kube-creating-connector-yaml"></a>
11+
<!-- Creating a connector on Kubernetes using YAML -->
912
## Creating a connector using YAML
1013

1114
A connector binds a local workload to listeners in remote sites.
@@ -60,7 +63,8 @@ For more information about connectors see [Connector concept][connector]
6063

6164
There are many options to consider when creating connectors using YAML, see [CLI Reference][cli-ref], including *frequently used* options.
6265

63-
66+
<a id="kube-creating-listener-yaml"></a>
67+
<!-- Creating a listener on Kubernetes using YAML -->
6468
## Creating a listener using YAML
6569

6670
A listener binds a local connection endpoint to connectors in remote sites.
@@ -111,5 +115,86 @@ Listeners and connectors are matched using routing keys.
111115

112116
There are many options to consider when creating connectors using YAML, see [CLI Reference][cli-ref], including *frequently used* options.
113117

118+
119+
<a id="kube-creating-attachedconnector-yaml"></a>
120+
## Creating a connector for a different namespace using YAML
121+
122+
A connector binds a local workload to listeners in remote sites.
123+
124+
If you create a site in one namespace and need to expose a service in a different namespace, use this procedure to create an *attached connector* in the other namespace and an *AttachedConnectorBinding* in the site namespace.
125+
126+
* An attached connector is a connector in a peer namespace, that is, not the site namespace.
127+
* The AttachedConnectorBinding is a binding to an attached connector in a peer namespace and is created in the site namespace.
128+
129+
**Procedure**
130+
131+
1. Create a workload that you want to expose on the network in a non-site namespace, for example:
132+
```bash
133+
kubectl create deployment backend --image quay.io/skupper/hello-world-backend --replicas 3
134+
```
135+
136+
2. Create an AttachedConnector resource YAML file in the same namespace:
137+
```yaml
138+
apiVersion: skupper.io/v2alpha1
139+
kind: AttachedConnector
140+
metadata:
141+
name: backend
142+
namespace: attached
143+
spec:
144+
siteNamespace: skupper
145+
selector: app=backend
146+
port: 8080
147+
```
148+
149+
To create the AttachedConnector resource:
150+
151+
```bash
152+
kubectl apply -f <filename>
153+
```
154+
155+
where `<filename>` is the name of a YAML file that is saved on your local filesystem.
156+
157+
3. Create an AttachedConnectorBinding resource YAML file in the site namespace:
158+
```yaml
159+
apiVersion: skupper.io/v2alpha1
160+
kind: AttachedConnector
161+
metadata:
162+
name: backend
163+
namespace: attached
164+
spec:
165+
siteNamespace: skupper
166+
selector: app=backend
167+
port: 8080
168+
```
169+
170+
To create the AttachedConnectorBinding resource:
171+
172+
```bash
173+
kubectl apply -f <filename>
174+
```
175+
176+
where `<filename>` is the name of a YAML file that is saved on your local filesystem.
177+
178+
179+
180+
3. Check the AttachedConnectorBinding status from the context of the site namespace:
181+
```bash
182+
kubectl get AttachedConnectorBinding
183+
```
184+
185+
For example:
186+
187+
```
188+
NAME ROUTING KEY CONNECTOR NAMESPACE STATUS HAS MATCHING LISTENER
189+
backend backend attached Ready true
190+
```
191+
**📌 NOTE**
192+
By default, the routing key name is set to the name of the connector.
193+
If you want to use a custom routing key, set the `--routing-key` to your custom name.
194+
195+
There are many options to consider when creating connectors using YAML, see [CLI Reference][cli-ref], including *frequently used* options.
196+
197+
198+
114199
[connector]: https://skupperproject.github.io/refdog/concepts/connector.html
115200
[listener]: https://skupperproject.github.io/refdog/concepts/listener.html

input/kube-yaml/site-configuration.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
<a id="kube-creating-site-yaml"></a>
12
# Creating a site on Kubernetes using YAML
23

34
Using YAML allows you to create and manage sites from the context of the current namespace.
45

56
A typical workflow is to create a site, link sites together, and expose services to the service network.
67

7-
8+
<a id="kube-creating-simple-site-yaml"></a>
89
## Creating a simple site on Kubernetes using YAML
910

1011
You can use YAML to create and manage Skupper sites.

input/overview/connectivity.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
<a id="overview-connectivity"></a>
12
# Skupper connectivity
23

34
Skupper represents a new approach to connecting services across multiple Kubernetes clusters.
45
See how Skupper can give you the flexibility to deploy your services where you need them.
56

6-
## One cluster
7+
**One cluster**
78

89
Kubernetes **services** provide a virtual network address for each element of your distributed application.
910
Service "A" can contact service "B", "B" can contact "C", and so on.
@@ -17,7 +18,7 @@ Skupper offers a third way.
1718
It connects clusters to a secure layer 7 network.
1819
It uses that network to forward local service traffic to remote clusters.
1920

20-
## Secure hybrid cloud communication
21+
**Secure hybrid cloud communication**
2122

2223
Deploy your application across public and private clusters.
2324

@@ -26,7 +27,7 @@ Deploy your application across public and private clusters.
2627
You can host your database on a private cluster and retain full connectivity with services running on the public cloud.
2728
All communication is secured by mutual TLS authentication and encryption.
2829

29-
## Edge-to-edge connectivity
30+
**Edge-to-edge connectivity**
3031

3132
Distribute application services across geographic regions.
3233

@@ -36,7 +37,7 @@ You can connect multiple retail sites to a central office.
3637
Once connected, each edge location can contact any other edge.
3738
You can add and remove sites on demand.
3839

39-
## Scale up and out
40+
**Scale up and out**
4041

4142
Build large, robust networks of connected clusters.
4243

0 commit comments

Comments
 (0)