-
Notifications
You must be signed in to change notification settings - Fork 806
Update to APIRule V2 and update packages dependencies. #23961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
5cdec9e
10b1817
daf967b
6a68493
e14a6b6
983c399
34e42dd
4e8a376
199e937
a9cc3ce
22099b7
9a60cdd
c94b3e0
041ff79
54dd215
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -7,10 +7,10 @@ primary_tag: software-product>sap-btp\, kyma-runtime | |||||
--- | ||||||
|
||||||
# Deploy a Multitenant Application to a Provider subaccount, Kyma Runtime | ||||||
<!-- description --> Build a Node.js application into OCI image and push it into Docker registry. Based on that, deploy the application into the Kyma runtime. | ||||||
<!-- description --> Build a Node.js application into OCI image and push it into Docker registry. Based on that, deploy the application into SAP BTP, Kyma runtime. | ||||||
|
||||||
## Prerequisites | ||||||
- You have a Kyma runtime environment on SAP Business Technology Platform (BTP) and the relevant command line tools. If not, please follow the tutorials [Enable SAP BTP, Kyma Runtime](cp-kyma-getting-started) and [Install the Kubernetes Command Line Tool](cp-kyma-download-cli). | ||||||
- You have a Kyma runtime environment on SAP Business Technology Platform (BTP) and the relevant command line tools. If not, please follow the tutorials [Enable SAP BTP, Kyma runtime](cp-kyma-getting-started) and [Install the Kubernetes Command Line Tool](cp-kyma-download-cli). | ||||||
- You have installed [Docker](https://docs.docker.com/get-started/#download-and-install-docker). | ||||||
- You have [Docker Hub](https://hub.docker.com/) account. | ||||||
- You have finished the tutorial [Register a Multitenant Application to the SAP SaaS Provisioning Service](register-multitenant-app-saas-provisioning-service). | ||||||
|
@@ -27,33 +27,21 @@ primary_tag: software-product>sap-btp\, kyma-runtime | |||||
|
||||||
### Determine SAP BTP Subaccount Subdomain | ||||||
|
||||||
Open your subaccount in SAP BTP cockpit. Make sure you've already enabled SAP BTP, Kyma runtime on your cluster. | ||||||
|
||||||
Open your subaccount in the Cockpit. In the overview page, find the subdomain for your deployment. | ||||||
|
||||||
For example: | ||||||
|
||||||
<!-- border --> | ||||||
|
||||||
|
||||||
### Determine Kyma Cluster Domain | ||||||
|
||||||
|
||||||
Find the full Kyma cluster domain in the downloaded `kubeconfig.yml` file. For example: `e6803e4.kyma.shoot.live.k8s-hana.ondemand.com`. | ||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
### Build Application to OCI Image | ||||||
### Build Application as OCI Image | ||||||
|
||||||
|
||||||
1. Install tool | ||||||
<p> </p> | ||||||
In order to run your code on the Kyma Runtime (or on any Kubernetes-based platform), you need to provide an OCI image (aka Docker image) for your application. While you are in principle free to choose your image building tool, we recommend using [Cloud Native Buildpacks (CNB)](https://buildpacks.io/). | ||||||
In order to run your code on Kyma runtime (or on any Kubernetes-based platform), you need to provide an OCI image (aka Docker image) for your application. While you are in principle free to choose your image building tool, we recommend using [Cloud Native Buildpacks (CNB)](https://buildpacks.io/). | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
<p> </p> | ||||||
The command-line tool `pack` supports providing a buildpack and your local source code and creating an OCI image from it. We are working on a process to provide recommended and supported buildpacks. In the meantime, you can use the community-supported [Paketo Buildpacks](https://paketo.io/). | ||||||
<p> </p> | ||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in the Kyma Runtime](deploy-nodejs-application-kyma), you have installed the command-line tool `pack`, if not, please follow this official guide: [Install Pack](https://buildpacks.io/docs/tools/pack/). | ||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in SAP BTP, Kyma runtime](deploy-nodejs-application-kyma), you have installed the command-line tool `pack`. If not, please follow this official guide: [Install Pack](https://buildpacks.io/docs/tools/pack/). | ||||||
|
||||||
For example (macOS): | ||||||
```Shell / Bash | ||||||
|
@@ -64,17 +52,19 @@ brew install buildpacks/tap/pack | |||||
<p> </p> | ||||||
When we speak about repository name, we mean the combination of account and repo name that is usual with Docker Hub: `<docker-hub-account>/<repo-name>`. An example would be `tiaxu/multitenant-kyma-backend`. | ||||||
<p> </p> | ||||||
As you can only create one private repository in a free Docker hub account, Docker images stored in Docker hub will have different tag names so that they can be stored in one repository. Thus, addressing an image will include the tag name:`<docker-hub-account>/<repo-name>:<tag-name>`. An example would be `tiaxu/multitenant-kyma-backend:v1`. | ||||||
As you can only create one private repository in a free Docker hub account, Docker images stored in Docker hub will have different tag names so that they can be stored in one repository. Thus, addressing an image will include the tag name:`<docker-hub-account>/<repo-name>:<tag-name>`. An example would be `tiaxu/multitenant-kyma-backend:v2`. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
<p> </p> | ||||||
In the directory `kyma-multitenant-approuter`, build the image for the approuter app from source, for example: | ||||||
```Shell / Bash | ||||||
pack build <docker-hub-account>/multitenant-approuter:v1 --builder paketobuildpacks/builder-jammy-full | ||||||
``` | ||||||
In the directory `kyma-multitenant-approuter`, build the image for the approuter app from source, for example: | ||||||
|
||||||
In the directory `kyma-multitenant-node`, build the image for the approuter app from source, for example: | ||||||
```Shell / Bash | ||||||
pack build <docker-hub-account>/multitenant-kyma-backend:v1 --builder paketobuildpacks/builder-jammy-full | ||||||
``` | ||||||
```Shell / Bash | ||||||
pack build <docker-hub-account>/multitenant-approuter:v1 --builder paketobuildpacks/builder-jammy-full | ||||||
``` | ||||||
<p> </p> | ||||||
In the directory `kyma-multitenant-node`, build the image for the multitenant backend app from source, for example: | ||||||
|
||||||
```Shell / Bash | ||||||
pack build <docker-hub-account>/multitenant-kyma-backend:v2 --builder paketobuildpacks/builder-jammy-full | ||||||
``` | ||||||
|
||||||
|
||||||
|
||||||
|
@@ -92,7 +82,7 @@ docker login -u <docker-id> -p <password> | |||||
|
||||||
```Shell / Bash | ||||||
docker push <docker-hub-account>/multitenant-approuter:v1 | ||||||
docker push <docker-hub-account>/multitenant-kyma-backend:v1 | ||||||
docker push <docker-hub-account>/multitenant-kyma-backend:v2 | ||||||
``` | ||||||
|
||||||
> For more details, see the [Kubernetes documentation](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/). | ||||||
|
@@ -103,10 +93,25 @@ docker push <docker-hub-account>/multitenant-kyma-backend:v1 | |||||
|
||||||
### Create Namespace | ||||||
|
||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in the Kyma Runtime](deploy-nodejs-application-kyma), you have created a namespace in Kyma dashboard called `multitenancy-ns`. If not, create a new namespace `multitenancy-ns` through Kyma dashboard or `kubectl` CLI: | ||||||
|
||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in the Kyma Runtime](deploy-nodejs-application-kyma), you have created a namespace in the Kyma environment called `multitenancy-ns`. If not, create a new namespace through the Kyma dashboard or `kubectl` CLI, for example, called `multitenancy-ns`: | ||||||
|
||||||
<!-- border --> | ||||||
**1.** Select the `Link to dashboard` to open Kyma dashboard. | ||||||
|
||||||
<!-- border --> | ||||||
|
||||||
**2.** Create a new namespace through Kyma dashboard or `kubectl` CLI, for example, called `multitenancy-ns`: | ||||||
|
||||||
<!-- border --> | ||||||
|
||||||
|
||||||
**3.** Enable Istio Sidecar Proxy Injection | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed, move enable sidecar to Create Namespace step |
||||||
Enabling Istio sidecar proxy injection for a namespace allows istiod to watch all Pod creation operations in this namespace and automatically inject newly created Pods with an Istio sidecar proxy. | ||||||
Switch the toggle to enable Istio sidecar proxy injection. Click `Create` to finish namespace creation. | ||||||
|
||||||
<!-- border --> | ||||||
|
||||||
> For more details, refer to the [Enable Istio Sidecar Proxy Injection](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-sidecar-injection-for-a-namespace) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
|
||||||
|
||||||
|
@@ -117,7 +122,7 @@ If you followed the tutorials [Create a Basic Node.js Application with Express G | |||||
|
||||||
Since the OCI image is stored in your Docker hub, you need to provide the access information to your Kyma cluster that you can pull the images from those repositories. | ||||||
|
||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in the Kyma Runtime](deploy-nodejs-application-kyma), you have configured the credential of your Docker Hub as a Secret. If not, create a new Secret with the following command, replace the placeholder values according to your account: | ||||||
If you followed the tutorials [Create a Basic Node.js Application with Express Generator](basic-nodejs-application-create) and [Deploy a Node.js Application in SAP BTP, Kyma runtime](deploy-nodejs-application-kyma), you have configured the credential of your Docker Hub as a Secret. If not, create a new Secret with the following command, replace the placeholder values according to your account: | ||||||
|
||||||
```Shell / Bash | ||||||
kubectl -n multitenancy-ns create secret docker-registry registry-secret --docker-server=https://index.docker.io/v1/ --docker-username=<docker-id> --docker-password=<password> --docker-email=<email> | ||||||
|
@@ -135,7 +140,7 @@ imagePullSecrets: | |||||
|
||||||
|
||||||
|
||||||
### Deploy Application into Kyma Runtime | ||||||
### Deploy Application into SAP BTP, Kyma runtime | ||||||
|
||||||
|
||||||
**1.** Deploy consumed services by executing this command: | ||||||
|
@@ -157,6 +162,16 @@ kubectl -n multitenancy-ns apply -f k8s-deployment-backend.yaml | |||||
``` | ||||||
|
||||||
|
||||||
### Check Application Deployment state | ||||||
|
||||||
|
||||||
Launch Kyma dashboard from SAP BTP cockpit, then navigate to the `multitenancy-ns` namespace. | ||||||
|
||||||
Go to `Workloads`, and then select `Deployments`. You will see deployments of **kyma-multitenant-approuter-multitenancy** and **kyma-multitenant-node-multitenancy** displayed, with their `Pods` statuses shown in green. At this point, your multitenant application has been deployed successfully. | ||||||
|
||||||
<!-- border --> | ||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it's the same file already created in the previous step