-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add README with CLI usage descriptions #20
Changes from all commits
766995f
ddad824
dbb17dd
c3656bf
71c433e
6377a3c
af9596a
7a9ed87
8d5d2a4
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 |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Scalar Admin for Kubernetes | ||
|
||
Scalar Admin for Kubernetes is a tool that creates a paused state for ScalarDB or ScalarDL in a Kubernetes environment. You can use such a paused state to take backups easily and consistently across multiple diverse databases. | ||
|
||
## Usage of the CLI tool | ||
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. This is an output of the This section describes the |
||
|
||
```console | ||
Usage: scalar-admin-for-kubernetes-cli [-h] [-d=<pauseDuration>] | ||
[-n=<namespace>] -r=<helmReleaseName> | ||
[-w=<maxPauseWaitTime>] [-z=<zoneId>] | ||
Scalar Admin pause tool for the Kubernetes environment | ||
-d, --pause-duration=<pauseDuration> | ||
The duration of the pause period by millisecond. | ||
5000 (5 seconds) by default. | ||
-h, --help Display the help message. | ||
-n, --namespace=<namespace> | ||
Namespace that Scalar products you want to pause | ||
are deployed. `default` by default. | ||
-r, --release-name=<helmReleaseName> | ||
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. To be clear, only 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.
Yes. You are right.
I see. I agree with adding a note. |
||
Helm's release name that you specify when you run | ||
the `helm install <RELEASE_NAME>` command. You | ||
can see the <RELEASE_NAME> by using the `helm | ||
list` command. | ||
-w, --max-pause-wait-time=<maxPauseWaitTime> | ||
The max wait time (in milliseconds) until Scalar | ||
products drain outstanding requests before they | ||
pause. If omitting this option, the max wait | ||
time will be the default value defined in the | ||
products. Most Scalar products have the default | ||
value of 30 seconds. | ||
-z, --time-zone=<zoneId> Specify a time zone ID, e.g., Asia/Tokyo, to | ||
output successful paused period. Note the time | ||
zone ID is case sensitive. Etc/UTC by default. | ||
``` | ||
|
||
## Run the CLI tool in a Kubernetes environment | ||
|
||
The `scalar-admin-for-kubernetes` CLI tool executes Kubernetes APIs in its internal processes. To run those Kubernetes APIs, you must run the `scalar-admin-for-kubernetes` CLI tool as a pod on the Kubernetes environment by following the steps below: | ||
|
||
1. Create three Kubernetes resources (`Role`, `RoleBinding`, and `ServiceAccount`), replacing the contents in the angle brackets as described: | ||
|
||
* Role | ||
|
||
```yaml | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: Role | ||
metadata: | ||
name: scalar-admin-for-kubernetes-role | ||
namespace: <YOUR_NAMESPACE> | ||
rules: | ||
- apiGroups: ["", "apps"] | ||
resources: ["pods", "deployments", "services"] | ||
verbs: ["get", "list"] | ||
``` | ||
|
||
* RoleBinding | ||
|
||
```yaml | ||
apiVersion: rbac.authorization.k8s.io/v1 | ||
kind: RoleBinding | ||
metadata: | ||
name: scalar-admin-for-kubernetes-rolebinding | ||
namespace: <YOUR_NAMESPACE> | ||
subjects: | ||
- kind: ServiceAccount | ||
name: scalar-admin-for-kubernetes-sa | ||
roleRef: | ||
kind: Role | ||
name: scalar-admin-for-kubernetes-role | ||
apiGroup: rbac.authorization.k8s.io | ||
``` | ||
|
||
* ServiceAccount | ||
|
||
```yaml | ||
apiVersion: v1 | ||
kind: ServiceAccount | ||
metadata: | ||
name: scalar-admin-for-kubernetes-sa | ||
namespace: <YOUR_NAMESPACE> | ||
``` | ||
|
||
1. Mount the `ServiceAccount` resource on the `scalar-admin-for-kubernetes` pod, replacing the contents in the angle brackets as described: | ||
|
||
* Pod | ||
|
||
```yaml | ||
apiVersion: v1 | ||
kind: Pod | ||
metadata: | ||
name: scalar-admin-for-kubernetes | ||
namespace: <YOUR_NAMESPACE> | ||
spec: | ||
serviceAccountName: scalar-admin-for-kubernetes-sa | ||
containers: | ||
- name: scalar-admin-for-kubernetes | ||
image: ghcr.io/scalar-labs/scalar-admin-for-kubernetes:1.0.0 | ||
command: | ||
- java | ||
- -jar | ||
- /app.jar | ||
- -r | ||
- <HELM_RELEASE_NAME> | ||
- -n | ||
- <SCALAR_PRODUCT_NAMESPACE> | ||
- -d | ||
- <PAUSE_DURATION> | ||
- -z | ||
- <TIMEZONE> | ||
``` | ||
|
||
## Run the CLI tool in a Kubernetes environment by using a Helm Chart | ||
|
||
Coming soon. |
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.
Can you add a few sentences describing what this is?
I think it's helpful even for internal developers.
Something like the following.
(This might need to be checked by @josh-wong if it is used.)
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 added such an explanation in 71c433e.
@josh-wong
Could you please also check this new sentence? Thank you!
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 was unable to suggest changes to the sentence in a reply to this message, so I added a new comment with my suggestion to the updated sentence.