Skip to main content

CDK construct library to deploy KubeSphere on AWS

Project description

NPM version PyPI version Release

cdk-kubesphere

cdk-kubesphere is a CDK construct library that allows you to create KubeSphere on AWS with CDK in TypeScript, JavaScript or Python.

Sample

# Example automatically generated. See https://github.com/aws/jsii/issues/826
from cdk_kubesphere import KubeSphere

app = cdk.App()

stack = cdk.Stack(app, "cdk-kubesphere-demo")

# deploy a default KubeSphere service on a new Amazon EKS cluster
KubeSphere(stack, "KubeSphere")

Behind the scene, the KubeSphere construct creates a default Amazon EKS cluster and KubeSphere serivce with helm chart(ks-installer) on it.

View helm command AWS CDK will helm install the `ks-installer` on the cluster:
helm install ks-installer \
--repo https://charts.kubesphere.io/test \
--namespace=kubesphere-system \
--generate-name \
--create-namespace

KubeSphere App Store

Use appStore to enable the KubeSphere App Store support.

# Example automatically generated. See https://github.com/aws/jsii/issues/826
KubeSphere(stack, "KubeSphere",
    app_store=True
)
View helm command AWS CDK will helm install the `ks-installer` on the cluster:
helm install ks-installer \
--set openpitrix.enabled=true \
--repo https://charts.kubesphere.io/test \
--namespace=kubesphere-system \
--generate-name \
--create-namespace

Using existing Amazon EKS clusters

You are allowed to deploy KubeSphere in any existing Amazon EKS cluster.

# Example automatically generated. See https://github.com/aws/jsii/issues/826
cluster = eks.Cluster.from_cluster_attributes(self, "MyCluster",
    cluster_name="my-cluster-name",
    kubectl_role_arn="arn:aws:iam::1111111:role/iam-role-that-has-masters-access"
)

# deploy a default KubeSphere service on the existing Amazon EKS cluster
KubeSphere(stack, "KubeSphere", cluster=cluster)

See Using existing clusters to learn how to import existing cluster in AWS CDK.

Console

Run the following command to create a port-forward from localhost:8888 to ks-console:80

kubectl -n kubesphere-system port-forward service/ks-console 8888:80

Open http://localhost:8888 and enter the default username/password(admin/P@88w0rd) to enter the admin console.

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

cdk-kubesphere-0.0.185.tar.gz (26.2 kB view hashes)

Uploaded Source

Built Distribution

cdk_kubesphere-0.0.185-py3-none-any.whl (26.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page