cdk-kubesphere


Namecdk-kubesphere JSON
Version 2.0.149 PyPI version JSON
download
home_pagehttps://github.com/pahud/cdk-kubesphere.git
SummaryCDK construct library to deploy KubeSphere on AWS
upload_time2022-10-03 00:15:03
maintainer
docs_urlNone
authorPahud Hsieh<pahudnet@gmail.com>
requires_python~=3.7
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![NPM version](https://badge.fury.io/js/cdk-kubesphere.svg)](https://badge.fury.io/js/cdk-kubesphere)
[![PyPI version](https://badge.fury.io/py/cdk-kubesphere.svg)](https://badge.fury.io/py/cdk-kubesphere)
![Release](https://github.com/pahud/cdk-kubesphere/workflows/Release/badge.svg)

# cdk-kubesphere

**cdk-kubesphere** is a CDK construct library that allows you to create [KubeSphere](https://kubesphere.io/) on AWS with CDK in TypeScript, JavaScript or Python.

# Sample

```python
import { KubeSphere } from 'cdk-kubesphere';

const app = new cdk.App();

const stack = new cdk.Stack(app, 'cdk-kubesphere-demo');

// deploy a default KubeSphere service on a new Amazon EKS cluster
new KubeSphere(stack, 'KubeSphere');
```

Behind the scene, the `KubeSphere` construct creates a default Amazon EKS cluster and `KubeSphere` serivce with helm chart([ks-installer](https://github.com/kubesphere/ks-installer)) on it.

<details>
<summary>View helm command</summary>
AWS CDK will helm install the `ks-installer`  on the cluster:

```sh
helm install ks-installer \
--repo https://charts.kubesphere.io/test \
--namespace=kubesphere-system \
--generate-name \
--create-namespace
```

</details>

## KubeSphere App Store

Use `appStore` to enable the [KubeSphere App Store](https://kubesphere.io/docs/pluggable-components/app-store/) support.

```python
new KubeSphere(stack, 'KubeSphere', {
  appStore: true,
});
```

<details>
<summary>View helm command</summary>
AWS CDK will helm install the `ks-installer`  on the cluster:

```sh
helm install ks-installer \
--set openpitrix.enabled=true \
--repo https://charts.kubesphere.io/test \
--namespace=kubesphere-system \
--generate-name \
--create-namespace
```

</details>

# Using existing Amazon EKS clusters

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

```python
const cluster = eks.Cluster.fromClusterAttributes(this, 'MyCluster', {
  clusterName: 'my-cluster-name',
  kubectlRoleArn: 'arn:aws:iam::1111111:role/iam-role-that-has-masters-access',
});

// deploy a default KubeSphere service on the existing Amazon EKS cluster
new KubeSphere(stack, 'KubeSphere', { cluster });
```

See [Using existing clusters](https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/aws-eks#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`

```sh
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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/pahud/cdk-kubesphere.git",
    "name": "cdk-kubesphere",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Pahud Hsieh<pahudnet@gmail.com>",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/ee/b8/e2f4afa2919970c13fdf629b580dd434a65bdba88bf776e536251f1a9c0e/cdk-kubesphere-2.0.149.tar.gz",
    "platform": null,
    "description": "[![NPM version](https://badge.fury.io/js/cdk-kubesphere.svg)](https://badge.fury.io/js/cdk-kubesphere)\n[![PyPI version](https://badge.fury.io/py/cdk-kubesphere.svg)](https://badge.fury.io/py/cdk-kubesphere)\n![Release](https://github.com/pahud/cdk-kubesphere/workflows/Release/badge.svg)\n\n# cdk-kubesphere\n\n**cdk-kubesphere** is a CDK construct library that allows you to create [KubeSphere](https://kubesphere.io/) on AWS with CDK in TypeScript, JavaScript or Python.\n\n# Sample\n\n```python\nimport { KubeSphere } from 'cdk-kubesphere';\n\nconst app = new cdk.App();\n\nconst stack = new cdk.Stack(app, 'cdk-kubesphere-demo');\n\n// deploy a default KubeSphere service on a new Amazon EKS cluster\nnew KubeSphere(stack, 'KubeSphere');\n```\n\nBehind the scene, the `KubeSphere` construct creates a default Amazon EKS cluster and `KubeSphere` serivce with helm chart([ks-installer](https://github.com/kubesphere/ks-installer)) on it.\n\n<details>\n<summary>View helm command</summary>\nAWS CDK will helm install the `ks-installer`  on the cluster:\n\n```sh\nhelm install ks-installer \\\n--repo https://charts.kubesphere.io/test \\\n--namespace=kubesphere-system \\\n--generate-name \\\n--create-namespace\n```\n\n</details>\n\n## KubeSphere App Store\n\nUse `appStore` to enable the [KubeSphere App Store](https://kubesphere.io/docs/pluggable-components/app-store/) support.\n\n```python\nnew KubeSphere(stack, 'KubeSphere', {\n  appStore: true,\n});\n```\n\n<details>\n<summary>View helm command</summary>\nAWS CDK will helm install the `ks-installer`  on the cluster:\n\n```sh\nhelm install ks-installer \\\n--set openpitrix.enabled=true \\\n--repo https://charts.kubesphere.io/test \\\n--namespace=kubesphere-system \\\n--generate-name \\\n--create-namespace\n```\n\n</details>\n\n# Using existing Amazon EKS clusters\n\nYou are allowed to deploy `KubeSphere` in any existing Amazon EKS cluster.\n\n```python\nconst cluster = eks.Cluster.fromClusterAttributes(this, 'MyCluster', {\n  clusterName: 'my-cluster-name',\n  kubectlRoleArn: 'arn:aws:iam::1111111:role/iam-role-that-has-masters-access',\n});\n\n// deploy a default KubeSphere service on the existing Amazon EKS cluster\nnew KubeSphere(stack, 'KubeSphere', { cluster });\n```\n\nSee [Using existing clusters](https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/aws-eks#using-existing-clusters) to learn how to import existing cluster in AWS CDK.\n\n# Console\n\nRun the following command to create a `port-forward` from localhost:8888 to `ks-console:80`\n\n```sh\nkubectl -n kubesphere-system port-forward service/ks-console 8888:80\n```\n\nOpen `http://localhost:8888` and enter the default username/password(`admin/P@88w0rd`) to enter the admin console.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "CDK construct library to deploy KubeSphere on AWS",
    "version": "2.0.149",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "7d4dc6b02dfd7b11728200c2f47d9a4d",
                "sha256": "b43f654790fbc64d7e6309d4c8a9c5c5de4fd56c4d79b547b4fe5574d04facf0"
            },
            "downloads": -1,
            "filename": "cdk_kubesphere-2.0.149-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7d4dc6b02dfd7b11728200c2f47d9a4d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.7",
            "size": 29874,
            "upload_time": "2022-10-03T00:15:01",
            "upload_time_iso_8601": "2022-10-03T00:15:01.117340Z",
            "url": "https://files.pythonhosted.org/packages/34/fc/74554608b562eba7ac0cac9d715e0700006c436df315ed66935fff44482f/cdk_kubesphere-2.0.149-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8f1abdeb01ae36a5884f3f79c3367a53",
                "sha256": "4ab00698f7f6933ae1a297b0d8df4e1e8ab636a1adabc8594066a12f16954020"
            },
            "downloads": -1,
            "filename": "cdk-kubesphere-2.0.149.tar.gz",
            "has_sig": false,
            "md5_digest": "8f1abdeb01ae36a5884f3f79c3367a53",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.7",
            "size": 31374,
            "upload_time": "2022-10-03T00:15:03",
            "upload_time_iso_8601": "2022-10-03T00:15:03.594568Z",
            "url": "https://files.pythonhosted.org/packages/ee/b8/e2f4afa2919970c13fdf629b580dd434a65bdba88bf776e536251f1a9c0e/cdk-kubesphere-2.0.149.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-10-03 00:15:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "pahud",
    "github_project": "cdk-kubesphere.git",
    "lcname": "cdk-kubesphere"
}
        
Elapsed time: 0.45832s