@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=["--expander=least-waste", 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
```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 - --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 compile
Compiles typescript => javascript yarn watch
Watch & compile yarn test
Run unit test & linter through jest yarn test -u
Update jest snapshots yarn run package
Creates a dist
with packages for all languages.yarn build
Compile + test + package yarn bump
Bump version (with changelog) based on [conventional commits] yarn release
Bump + 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
Close
Hashes for cdk8s-cluster-autoscaler-aws-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5f64bc28ae98bdcb682f1473a0cfc1cedf8390ef7bb5792e450777a0f590995 |
|
MD5 | 30b1181e79a845c4a27ab59bbf5d34e5 |
|
BLAKE2b-256 | e8c5e19620655c3b4f94b359d0501f00e8ed04a520ee7ebcb150e58615fa8324 |
Close
Hashes for cdk8s_cluster_autoscaler_aws-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42ffe8a442f59c6ac830c9eff2011c4a24eaf508363ec9a74594c0b0b55add1f |
|
MD5 | d6e02d2341530380386c537f7bbc53f2 |
|
BLAKE2b-256 | 3dcd6f34015fbda561cea16b08f1fa5561be72cf55fa86319567b3c5976b6c72 |