@opencdk8s/cdk8s-cluster-autoscaler-aws
Project description
cdk8s-cluster-autoscaler-aws
Synths an install manifest for cluster-autoscaler AWS
Controller version : v1.17.3
Overview
cluster-autoscaler-autodiscover.yaml example
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from constructs import Construct
from cdk8s import App, Chart, ChartProps
from opencdk8s.cdk8s_cluster_autoscaler_aws import ClusterAutoScaler
class MyChart(Chart):
def __init__(self, scope, id, *, namespace=None, labels=None):
super().__init__(scope, id, namespace=namespace, labels=labels)
cluster_name = "example"
ClusterAutoScaler(self, "example",
create_service_account=True,
command=[f"--node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/{clusterName}"
]
)
app = App()
MyChart(app, "example")
app.synth()
cluster-autoscaler-autodiscover.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
rules:
- apiGroups:
- ""
resources:
- events
- endpoints
verbs:
- create
- patch
- apiGroups:
- ""
resources:
- pods/eviction
verbs:
- create
- apiGroups:
- ""
resources:
- pods/status
verbs:
- update
- apiGroups:
- ""
resourceNames:
- cluster-autoscaler
resources:
- endpoints
verbs:
- get
- update
- apiGroups:
- ""
resources:
- nodes
verbs:
- watch
- list
- get
- update
- apiGroups:
- ""
resources:
- pods
- services
- replicationcontrollers
- persistentvolumeclaims
- persistentvolumes
verbs:
- watch
- list
- get
- apiGroups:
- extensions
resources:
- replicasets
- daemonsets
verbs:
- watch
- list
- get
- apiGroups:
- policy
resources:
- poddisruptionbudgets
verbs:
- watch
- list
- apiGroups:
- apps
resources:
- statefulsets
- replicasets
- daemonsets
verbs:
- watch
- list
- get
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
- csinodes
verbs:
- watch
- list
- get
- apiGroups:
- batch
- extensions
resources:
- jobs
verbs:
- get
- list
- watch
- patch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- apiGroups:
- coordination.k8s.io
resourceNames:
- cluster-autoscaler
resources:
- leases
verbs:
- get
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-autoscaler
subjects:
- kind: ServiceAccount
name: cluster-autoscaler
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
namespace: kube-system
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
- list
- watch
- apiGroups:
- ""
resourceNames:
- cluster-autoscaler-status
- cluster-autoscaler-priority-expander
resources:
- configmaps
verbs:
- delete
- get
- update
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
k8s-addon: cluster-autoscaler.addons.k8s.io
k8s-app: cluster-autoscaler
name: cluster-autoscaler
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: cluster-autoscaler
subjects:
- kind: ServiceAccount
name: cluster-autoscaler
namespace: kube-system
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: cluster-autoscaler
name: cluster-autoscaler
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: cluster-autoscaler
template:
metadata:
annotations:
prometheus.io/port: "8085"
prometheus.io/scrape: "true"
labels:
app: cluster-autoscaler
spec:
containers:
- command:
- ./cluster-autoscaler
- --v=4
- ----stderrthreshold=info
- --cloud-provider=aws
- --skip-nodes-with-local-storage=false
- --expander=least-waste
- --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/example
image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.17.3
imagePullPolicy: Always
name: cluster-autoscaler
resources:
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 300Mi
volumeMounts:
- mountPath: /etc/ssl/certs/ca-certificates.crt
name: ssl-certs
readOnly: true
serviceAccountName: cluster-autoscaler
volumes:
- hostPath:
path: /etc/ssl/certs/ca-bundle.crt
name: ssl-certs
Installation
TypeScript
Use yarn or npm to install.
$ npm install @opencdk8s/cdk8s-cluster-autoscaler-aws
$ yarn add @opencdk8s/cdk8s-cluster-autoscaler-aws
Python
$ pip install cdk8s-cluster-autoscaler-aws
Contribution
-
Fork (link)
-
Bootstrap the repo:
npx projen # generates package.json yarn install # installs dependencies
-
Development scripts:
Command Description yarn compileCompiles typescript => javascript yarn watchWatch & compile yarn testRun unit test & linter through jest yarn test -uUpdate jest snapshots yarn run packageCreates a distwith packages for all languages.yarn buildCompile + test + package yarn bumpBump version (with changelog) based on [conventional commits] yarn releaseBump + push to master -
Create a feature branch
-
Commit your changes
-
Rebase your local changes against the master branch
-
Create a new Pull Request (use conventional commits for the title please)
Licence
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cdk8s-cluster-autoscaler-aws-0.0.3.tar.gz.
File metadata
- Download URL: cdk8s-cluster-autoscaler-aws-0.0.3.tar.gz
- Upload date:
- Size: 46.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ca884c76e8bd1b315a2e14bf2bc210acbc43fadaec1247cf4eaa2525b6481c
|
|
| MD5 |
ff923081f75bb8f11090936982429911
|
|
| BLAKE2b-256 |
075885f9a8da1cf2ed21ba5211bf4b85bf1ebf72cf3f0c5a5907fad26226d336
|
File details
Details for the file cdk8s_cluster_autoscaler_aws-0.0.3-py3-none-any.whl.
File metadata
- Download URL: cdk8s_cluster_autoscaler_aws-0.0.3-py3-none-any.whl
- Upload date:
- Size: 48.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bde8d7dc5ab623eeb3c70c881c20045a79e7d37ae545a7c77fd0b8cd2d1cc09
|
|
| MD5 |
b7f774a89a95dfe751437992dc92999c
|
|
| BLAKE2b-256 |
40b29149cb99f6cfbe599f61d277bc3caf48d0732d05f4df106a1ed679286b52
|