@@ -54,31 +54,40 @@ As an example, the three clusters might consist of:
5454The ` skupper ` command-line tool is the entrypoint for installing
5555and configuring Skupper. You need to install the ` skupper `
5656command only once for each development environment.
57+
5758On Linux or Mac, you can use the install script (inspect it
5859[ here] [ install-script ] ) to download and extract the command:
60+
5961~~~ shell
6062curl https://skupper.io/install.sh | sh
6163~~~
64+
6265The script installs the command under your home directory. It
6366prompts you to add the command to your path if necessary.
67+
6468For Windows and other installation options, see [ Installing
6569Skupper] [ install-docs ] .
70+
6671[ install-script ] : https://github.com/skupperproject/skupper-website/blob/main/docs/install.sh
6772[ install-docs ] : https://skupper.io/install/index.html
6873
6974## Step 2: Configure separate console sessions
7075
7176Skupper is designed for use with multiple namespaces, usually on
72- different clusters. The ` skupper ` command uses your
77+ different clusters. The ` skupper ` and ` kubectl ` commands use your
7378[ kubeconfig] [ kubeconfig ] and current context to select the
74- namespace where it operates.
79+ namespace where they operate.
80+
7581[ kubeconfig ] : https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/
82+
7683Your kubeconfig is stored in a file in your home directory. The
7784` skupper ` and ` kubectl ` commands use the ` KUBECONFIG ` environment
7885variable to locate it.
86+
7987A single kubeconfig supports only one active context per user.
8088Since you will be using multiple contexts at once in this
8189exercise, you need to create distinct kubeconfigs.
90+
8291Start a console session for each of your namespaces. Set the
8392` KUBECONFIG ` environment variable to a different path in each
8493session.
@@ -107,6 +116,7 @@ The procedure for accessing a Kubernetes cluster varies by
107116provider. [ Find the instructions for your chosen
108117provider] [ kube-providers ] and use them to authenticate and
109118configure access for each console session.
119+
110120[ kube-providers ] : https://skupper.io/start/kubernetes.html
111121
112122## Step 4: Set up your namespaces
@@ -138,35 +148,39 @@ kubectl config set-context --current --namespace private1
138148
139149## Step 5: Install Skupper in your namespaces
140150
141- The ` skupper init ` command installs the Skupper router and service
151+ The ` skupper init ` command installs the Skupper router and
142152controller in the current namespace. Run the ` skupper init ` command
143153in each namespace.
154+
144155** Note:** If you are using Minikube, [ you need to start `minikube
145156tunnel`] [ minikube-tunnel ] before you install Skupper.
157+
146158[ minikube-tunnel ] : https://skupper.io/start/minikube.html#running-minikube-tunnel
147159
148160_ ** Console for public1:** _
149161
150162~~~ shell
151- skupper init --site-name public1
163+ skupper init --enable-console --enable-flow-collector
152164~~~
153165
154166_ ** Console for public2:** _
155167
156168~~~ shell
157- skupper init --site-name public2
169+ skupper init
158170~~~
159171
160172_ ** Console for private1:** _
161173
162174~~~ shell
163- skupper init --site-name private1
175+ skupper init
164176~~~
165177
166178_ Sample output:_
179+
167180~~~ console
168- $ skupper init --site-name < namespace >
181+ $ skupper init
169182Waiting for LoadBalancer IP or hostname...
183+ Waiting for status...
170184Skupper is now installed in namespace '<namespace>'. Use 'skupper status' to get more information.
171185~~~
172186
@@ -194,30 +208,34 @@ skupper status
194208~~~
195209
196210_ Sample output:_
211+
197212~~~ console
198213Skupper is enabled for namespace "<namespace>" in interior mode. It is connected to 1 other site. It has 1 exposed service.
199214The site console url is: <console-url>
200215The credentials for internal console-auth mode are held in secret: 'skupper-console-users'
201216~~~
217+
202218As you move through the steps below, you can use ` skupper status ` at
203219any time to check your progress.
204220
205221## Step 7: Link your namespaces
206222
207223Creating a link requires use of two ` skupper ` commands in
208224conjunction, ` skupper token create ` and ` skupper link create ` .
225+
209226The ` skupper token create ` command generates a secret token that
210227signifies permission to create a link. The token also carries the
211228link details. Then, in a remote namespace, The `skupper link
212229create` command uses the token to create a link to the namespace
213230that generated it.
231+
214232** Note:** The link token is truly a * secret* . Anyone who has the
215233token can link to your namespace. Make sure that only those you
216234trust have access to it.
235+
217236First, use ` skupper token create ` in one namespace to generate the
218237token. Then, use ` skupper link create ` in the other to create a
219238link.
220- Continue this pattern until all namespaces are linked.
221239
222240_ ** Console for public1:** _
223241
@@ -242,6 +260,11 @@ skupper link create ~/private1-to-public2-token.yaml
242260skupper link status --wait 60
243261~~~
244262
263+ If your console sessions are on different machines, you may need
264+ to use ` scp ` or a similar tool to transfer the token securely. By
265+ default, tokens expire after a single use or 15 minutes after
266+ creation.
267+
245268## Step 8: Deploy the iperf3 servers
246269
247270After creating the application router network, deploy ` iperf3 ` in each namespace.
@@ -324,6 +347,7 @@ network. To access it, use `skupper status` to look up the URL of
324347the web console. Then use `kubectl get
325348secret/skupper-console-users` to look up the console admin
326349password.
350+
327351** Note:** The ` <console-url> ` and ` <password> ` fields in the
328352following output are placeholders. The actual values are specific
329353to your environment.
@@ -339,7 +363,7 @@ _Sample output:_
339363
340364~~~ console
341365$ skupper status
342- Skupper is enabled for namespace "public1" in interior mode . It is connected to 1 other site. It has 1 exposed service.
366+ Skupper is enabled for namespace "public1". It is connected to 1 other site. It has 1 exposed service.
343367The site console url is: <console-url>
344368The credentials for internal console-auth mode are held in secret: 'skupper-console-users'
345369
@@ -352,7 +376,8 @@ in as user `admin` and enter the password.
352376
353377## Cleaning up
354378
355- Restore your cluster environment by returning the resources created in the demonstration and delete the skupper network
379+ To remove Skupper and the other resources from this exercise, use
380+ the following commands.
356381
357382_ ** Console for private1:** _
358383
0 commit comments