Crates.io | resalloc-kubernetes |
lib.rs | resalloc-kubernetes |
version | 1.0.5 |
source | src |
created_at | 2022-12-09 01:59:04.394227 |
updated_at | 2023-09-15 14:32:53.128781 |
description | A CLI used to allocate kubernetes pod resource for resalloc framework. |
homepage | https://github.com/tommylike/resalloc-kubernetes |
repository | https://github.com/tommylike/resalloc-kubernetes |
max_upload_size | |
id | 732935 |
size | 120,690 |
resalloc-kubernetes used for generating in cluster pod resource for COPR cluster.
The pod's Service Account's Role need pvc's create
, delete
and pod's create
, delete
, list
, watch
, get
permissions,
For example, the RBAC role should be something like:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
...
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["create", "delete", "list", "get", "watch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["create", "delete"]
...
NOTE: If there's no delete
permissions for pod and pvc in Service Account, the allocated resource may be leaked and need to be released manually!
command would be:
Create new pod resource
Usage: resalloc-kubernetes add [OPTIONS] --image-tag <IMAGE_TAG> --cpu-resource <CPU_RESOURCE> --memory-resource <MEMORY_RESOURCE>
Options:
--timeout <TIMEOUT>
timeout for waiting pod to be ready [default: 60]
--image-tag <IMAGE_TAG>
specify the image tag used for generating, for example: docker.io/organization/image:tag
--namespace <NAMESPACE>
--cpu-resource <CPU_RESOURCE>
specify the request and limit cpu resource, '1', '2000m' and etc.
--memory-resource <MEMORY_RESOURCE>
specify the request and limit memory resource, '1024Mi', '2Gi' and etc.
--node-selector <NODE_SELECTOR>
specify the node selector for pod resource in the format of 'NAME=VALUE', can be specified with multiple times
--privileged
run pod in privileged mode
--additional-labels <ADDITIONAL_LABELS>
specify the additional labels for pod resource in the format of 'NAME=VALUE', can be specified with multiple times
--additional-volume-size <ADDITIONAL_VOLUME_SIZE>
specify the additional persistent volume size, use in group(additional_volume_size, additional_volume_class, additional_volume_mount_path).
--additional-volume-class <ADDITIONAL_VOLUME_CLASS>
specify the additional persistent volume class, use in group(additional_volume_size, additional_volume_class, additional_volume_mount_path).
--additional-volume-mount-path <ADDITIONAL_VOLUME_MOUNT_PATH>
specify mount point for persistent volume, use in group(additional_volume_size, additional_volume_class, additional_volume_mount_path).
-h, --help
Print help information
command would be:
Delete existing pod resource by IP address
Usage: resalloc-kubernetes delete [OPTIONS] --name <NAME>
Options:
--name <NAME> specify ip address of pod to delete. [env: RESALLOC_NAME=]
--namespace <NAMESPACE>
-h, --help Print help information