generated from skupperproject/skupper-example-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
skewer.yaml
89 lines (86 loc) · 3.18 KB
/
skewer.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
title: Accessing an HTTP server using Skupper
subtitle: Securely connect to an HTTP server on a remote Kubernetes cluster
overview: |
This example shows how you can use Skupper to connect an HTTP client
on one Kubernetes cluster to an HTTP server on another.
sites:
public:
title: Public
platform: kubernetes
namespace: public
env:
KUBECONFIG: ~/.kube/config-public
private:
title: Private
platform: kubernetes
namespace: private
env:
KUBECONFIG: ~/.kube/config-private
steps:
- standard: install_the_skupper_command_line_tool
- standard: kubernetes/set_up_your_namespaces
- title: Deploy the HTTP server
preamble: |
In the private namespace, use the `kubectl apply` command to
install the server.
commands:
private:
- run: kubectl apply -f server/kubernetes.yaml
output: deployment.apps/http-server created
- standard: kubernetes/create_your_sites
- standard: kubernetes/link_your_sites
- title: Expose the HTTP server
preamble: |
In the private namespace, use `skupper expose` to expose the
HTTP server on the Skupper network.
Then, in the public namespace, use `kubectl get
service/http-server` to check that the `http-server` service
appears after a moment.
commands:
private:
- await_resource: deployment/http-server
- run: skupper expose deployment/http-server --port 8080 --target-port 80
output: deployment http-server exposed as http-server
public:
- await_resource: service/http-server
- run: kubectl get service/http-server
output: |
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
http-server ClusterIP 10.100.58.95 <none> 8080/TCP 2s
- title: Run the HTTP client
preamble: |
In the public namespace, use `kubectl run` to run the HTTP client.
commands:
public:
- await_resource: service/http-server
- run: kubectl run http-client --attach --rm --image docker.io/library/nginx --restart Never -- curl -sf http://http-server:8080/
output: |
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
pod "http-client" deleted
- standard: cleaning_up
commands:
private:
- run: skupper delete
- run: kubectl delete -f server/kubernetes.yaml
public:
- run: skupper delete