Skip to content
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

feat: Add documentation about busola in k8s and adjust k8s configs #3547

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

dbadura
Copy link
Contributor

@dbadura dbadura commented Dec 18, 2024

Description

Changes proposed in this pull request:

  • adjust k8s resources
  • add docs how to deploy busola on k8s and access it in different scenarios

Related issue(s)

Definition of done

  • The PR's title starts with one of the following prefixes:
    • feat: A new feature
    • fix: A bug fix
    • docs: Documentation only changes
    • refactor: A code change that neither fixes a bug nor adds a feature
    • test: Adding tests
    • chore: Maintainance changes to the build process or auxiliary tools, libraries, workflows, etc.
  • Related issues are linked. To link internal trackers, use the issue IDs like backlog#4567
  • Explain clearly why you created the PR and what changes it introduces
  • All necessary steps are delivered, for example, tests, documentation, merging

#3375

@kyma-bot kyma-bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cla: yes Indicates the PR's author has signed the CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 18, 2024
@dbadura dbadura force-pushed the busola-k8s branch 2 times, most recently from 30debff to b19a45c Compare December 18, 2024 12:51
@kyma-bot kyma-bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 30, 2024
@dbadura dbadura marked this pull request as ready for review December 31, 2024 14:13
@kyma-bot kyma-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 31, 2024
@dbadura dbadura added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 31, 2024
@kyma-bot kyma-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 2, 2025
@dbadura dbadura linked an issue Jan 2, 2025 that may be closed by this pull request
4 tasks
@kyma-bot kyma-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jan 3, 2025
Copy link
Contributor

@akucharska akucharska left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@pbochynski pbochynski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I followed the instruction to deploy busola to local k3d cluster, but I failed to access this cluster from busola. Probably the latest image does not include all the changes required to work properly. I've seen also some errors to fetch localhost:3001/backend, even though my busola is hosted on port 80.

(cd resources && kubectl apply -f ingress/ingress.yaml)
```

Go to `localhost`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What port? Provide a command to create k3d cluster with load balancer port mapping, e.g.

k3d cluster create -p "80:80@loadbalancer"

Otherwise, the port is not exposed in the host machine (at least on mac os)


```shell
k3d kubeconfig get ${K3D_CLUSTER_NAME} > k3d-kubeconfig.yaml
yq --inplace '.clusters[].cluster.server = "https://kubernetes.default.svc:443"' k3d-kubeconfig.yaml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yq not mentioned before
I suppose the edited kubeconfig should be used in busola. Mention it.

@@ -178,6 +178,78 @@ For the information on how to run tests and configure them, go to the [`tests`](
docker run --rm -it -p 3001:3001 -v <path to your custom config>:/app/core-ui/environments/ --env ENVIRONMENT={your-env} --pid=host --name busola europe-docker.pkg.dev/kyma-project/prod/busola:latest
```

## Deploy Busola in Kubernetes Cluster

To install Busola on Kubernetes cluster run:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To install Busola on Kubernetes cluster run:
To install Busola on the Kubernetes cluster, run:

@@ -178,6 +178,78 @@ For the information on how to run tests and configure them, go to the [`tests`](
docker run --rm -it -p 3001:3001 -v <path to your custom config>:/app/core-ui/environments/ --env ENVIRONMENT={your-env} --pid=host --name busola europe-docker.pkg.dev/kyma-project/prod/busola:latest
```

## Deploy Busola in Kubernetes Cluster
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Deploy Busola in Kubernetes Cluster
## Deploy Busola on the Kubernetes Cluster

(cd resources && kustomize build base/ | kubectl apply -f- )
```

To install Busola using specific environment configuration, set `ENVIRONMENT` shell environment variable and run:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To install Busola using specific environment configuration, set `ENVIRONMENT` shell environment variable and run:
To install Busola using a specific environment configuration, set the `ENVIRONMENT` shell environment variable and run:

(cd resources && kustomize build environments/${ENVIRONMENT} | kubectl apply -f- )
```

## Access Busola installed on Kubernetes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Access Busola installed on Kubernetes
## Access Busola Installed on Kubernetes


## Access Busola installed on Kubernetes

### Kubectl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Kubectl
### kubectl


Prerequisites:

- Sidecar Proxy injection enabled, see [Kyma docs](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-istio-sidecar-proxy-injection), how to enable it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Sidecar Proxy injection enabled, see [Kyma docs](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-istio-sidecar-proxy-injection), how to enable it.
- Sidecar Proxy injection enabled, see [Enable Istio Sidecar Proxy Injection](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-istio-sidecar-proxy-injection).

Prerequisites:

- Sidecar Proxy injection enabled, see [Kyma docs](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-istio-sidecar-proxy-injection), how to enable it.
- Api gateway module installed, see [install docs](https://kyma-project.io/#/02-get-started/01-quick-install)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Api gateway module installed, see [install docs](https://kyma-project.io/#/02-get-started/01-quick-install)
- The API Gateway module installed, see [Quick Install](https://kyma-project.io/#/02-get-started/01-quick-install)

- Sidecar Proxy injection enabled, see [Kyma docs](https://kyma-project.io/#/istio/user/tutorials/01-40-enable-sidecar-injection?id=enable-istio-sidecar-proxy-injection), how to enable it.
- Api gateway module installed, see [install docs](https://kyma-project.io/#/02-get-started/01-quick-install)

Install Istio needed resources by running:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Install Istio needed resources by running:
1. Install the Istio required resources:

(cd resources && kubectl apply -k istio)
```

To get Busola address run:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To get Busola address run:
2. To get the Busola address, run:

kubectl get virtualservices.networking.istio.io
```

and find `busola-***` virtual service. Under `HOSTS` there is address to access Busola page.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
and find `busola-***` virtual service. Under `HOSTS` there is address to access Busola page.
and find the `busola-***` virtual service. Under `HOSTS,` there is an address where you can access the Busola page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Indicates the PR's author has signed the CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Releasing with semantic versioning
5 participants