Нет описания

Haytham Mohamed 6a70536f67 apply path rewrite to ingress and use nginx 3 лет назад
.mvn 3c4854211d init 3 лет назад
backend-service 8c86e97125 enable k8s probes 3 лет назад
documentation a5a53a0c62 kubernetes version 3 лет назад
frontend-service 8c86e97125 enable k8s probes 3 лет назад
gateway a5a53a0c62 kubernetes version 3 лет назад
infrastructure 6a70536f67 apply path rewrite to ingress and use nginx 3 лет назад
k8s 6a70536f67 apply path rewrite to ingress and use nginx 3 лет назад
.DS_Store 3c4854211d init 3 лет назад
.gitignore 3c4854211d init 3 лет назад
README.adoc aeac5b4f3d doc 3 лет назад
mvnw 3c4854211d init 3 лет назад
mvnw.cmd 3c4854211d init 3 лет назад
pom.xml c9f20670c8 update 3 лет назад

README.adoc


# Spring Cloud Gateway for Kubernetes

* make sure you have Docker running

* install Kind and a local registry in your local machine. You can use the provided script:

```shell
$ ./infrastructure/start-kind-registry.sh
```

* provided also the options to use either contour or ambassador ingress controller. Use either one of the following scripts to configure an ingress controller in Kind cluster. If you use contour ingress controller, then edit the
ingress YAML file `./k8s/install-ingress.yml` and make sure you use `ingressClassName: contour`, otherwise it should be
`ingressClassName: embassador`.

```shell
$ ./infrastructure/config-contour-ingress.sh
```

or

```shell
$ ./infrastructure/config-ambassador-ingress.sh
```

## Automatic

You can use the provided script `./k8s/setup.sh` to deploy SCG for k8s, a workload gateway instance
configured with routes, deploy the services and ingress. In the script, replace the variable `installer_dir`
to point to a directory where you extract SCG for k8s installer. The installer could be downloaded from
https://docs.pivotal.io/scg-k8s/1-0/installation.html[here]. You can follow the steps below to perform
all steps manually.

## Manual

* follow the instructions https://docs.pivotal.io/scg-k8s/1-0/installation.html[here] to install Spring Cloud Gateway for Kubernetes.

** per the instructions: to relocate the images do the following (installer_dir is where you extract SCG for K8s installer)
```shell
$ {installer_dir}/scripts/relocate-images.sh localhost:5000
```

** then run the installation

```shell
$ {installer_dir}/script/install-spring-cloud-gateway.sh
```

* create a gateway instance:

```shell
$ kubectl apply -f ./k8s/install-gateway.yml
```

* create gateway route configuration:

```shell
$ kubectl apply -f ./k8s/install-gateway-routes-config.yml
```

* create gateway route configuration and mappings:

```shell
$ kubectl apply -f ./k8s/install-gateway-mappings.yml
```

* build the project to create and push the images to the local registry. The plugin should create and push the image automatically by running this command (on the project root folder)

```shell
$ ./mvnw spring-boot:build-image
```

* install the frontend and backend services

```shell
$ kubectl apply -f ./k8s/install-services.yml
```

* create ingress

```shell
$ kubectl apply -f ./k8s/install-ingress.yml
```

* test by accessing the frontend service through ingress

```shell
$ curl http://localhost:80/frontend/
```