diff --git a/content/en/blog/releases/_index.md b/content/en/blog/releases/_index.md deleted file mode 100644 index 9143a23..0000000 --- a/content/en/blog/releases/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Releases -weight: 20 ---- diff --git a/content/en/blog/releases/in-depth-monoliths-detailed-spec.md b/content/en/blog/releases/in-depth-monoliths-detailed-spec.md deleted file mode 100755 index 6dfeeea..0000000 --- a/content/en/blog/releases/in-depth-monoliths-detailed-spec.md +++ /dev/null @@ -1,244 +0,0 @@ ---- -title: Another Great Release -date: 2018-01-04 -description: > - A short lead description about this content page. Text here can also be - **bold** or _italic_ and can even be split over multiple paragraphs. ---- - -Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://github.com) should be blue with no underlines (unless hovered over). - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. There should be whitespace between paragraphs. - -> There should be no margin above this first sentence. -> -> Blockquotes should be a lighter gray with a border along the left side in the secondary color. -> -> There should be no margin below this final sentence. - -## First Header - -This is a normal paragraph following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width. - -Lorem markdownum tuta hospes stabat; idem saxum facit quaterque repetito -occumbere, oves novem gestit haerebat frena; qui. Respicit recurvam erat: -pignora hinc reppulit nos **aut**, aptos, ipsa. - -Meae optatos *passa est* Epiros utiliter *Talibus niveis*, hoc lata, edidit. -Dixi ad aestum. - -## Header 2 - -> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Header 3 - -``` -This is a code block following a header. -``` - -#### Header 4 - -* This is an unordered list following a header. -* This is an unordered list following a header. -* This is an unordered list following a header. - -##### Header 5 - -1. This is an ordered list following a header. -2. This is an ordered list following a header. -3. This is an ordered list following a header. - -###### Header 6 - -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | - ----------------- - -There's a horizontal rule above and below this. - ----------------- - -Here is an unordered list: - -* Salt-n-Pepa -* Bel Biv DeVoe -* Kid 'N Play - -And an ordered list: - -1. Michael Jackson -2. Michael Bolton -3. Michael Bublé - -And an unordered task list: - -- [x] Create a sample markdown document -- [x] Add task lists to it -- [ ] Take a vacation - -And a "mixed" task list: - -- [ ] Steal underpants -- ? -- [ ] Profit! - -And a nested list: - -* Jackson 5 - * Michael - * Tito - * Jackie - * Marlon - * Jermaine -* TMNT - * Leonardo - * Michelangelo - * Donatello - * Raphael - -Definition lists can be used with Markdown syntax. Definition terms are bold. - -Name -: Godzilla - -Born -: 1952 - -Birthplace -: Japan - -Color -: Green - - ----------------- - -Tables should have bold headings and alternating shaded rows. - -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | - -If a table is too wide, it should scroll horizontally. - -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | - ----------------- - -Code snippets like `var foo = "bar";` can be shown inline. - -Also, `this should vertically align` ~~`with this`~~ ~~and this~~. - -Code can also be shown in a block element. - -``` -foo := "bar"; -bar := "foo"; -``` - -Code can also use syntax highlighting. - -```go -func main() { - input := `var foo = "bar";` - - lexer := lexers.Get("javascript") - iterator, _ := lexer.Tokenise(nil, input) - style := styles.Get("github") - formatter := html.New(html.WithLineNumbers()) - - var buff bytes.Buffer - formatter.Format(&buff, style, iterator) - - fmt.Println(buff.String()) -} -``` - -``` -Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this. -``` - -Inline code inside table cells should still be distinguishable. - -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | - ----------------- - -Small images should be shown at their actual size. - -![](https://placekitten.com/g/300/200/) - -Large images should always scale down and fit in the content container. - -![](https://placekitten.com/g/1200/800/) - -## Components - -### Alerts - -{{< alert >}}This is an alert.{{< /alert >}} -{{< alert title="Note:" >}}This is an alert with a title.{{< /alert >}} -{{< alert type="success" >}}This is a successful alert.{{< /alert >}} -{{< alert type="warning" >}}This is a warning!{{< /alert >}} -{{< alert type="warning" title="Warning!" >}}This is a warning with a title!{{< /alert >}} - - -## Sizing - -Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Parameters available - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using pixels - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Using rem - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -## Memory - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### RAM to use - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### More is better - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - -### Used RAM - -Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong. - - - -``` -This is the final element on the page and there should be no margin below this. -``` diff --git a/content/en/docs/Cloud Providers/aws.md b/content/en/docs/Cloud Providers/aws.md index ef65700..ca6f8c0 100644 --- a/content/en/docs/Cloud Providers/aws.md +++ b/content/en/docs/Cloud Providers/aws.md @@ -7,60 +7,55 @@ tags: [aws, ha, managed, core] --- {{% pageinfo %}} -Aws support for HA and Managed Clusters +AWS integration for High Availability and Managed Kubernetes Clusters {{% /pageinfo %}} - {{% alert color="warning" title="Caution" %}} -we need credentials to access clusters - -these are confidential information so shouldn't be shared with anyone +AWS credentials are required to access clusters. These credentials are sensitive information and must be kept secure. {{% /alert %}} +## Authentication Methods -## How these credentials are used by ksctl - -1. Environment Variables - +### Environment Variables +Set the following environment variables: ```bash export AWS_ACCESS_KEY_ID="" export AWS_SECRET_ACCESS_KEY="" ``` -2. Using command line - +### Command Line Interface +Use the ksctl credential manager: ```bash ksctl cred ``` -## Current Features - -### Cluster features -#### Highly Available cluster +## Available Cluster Types -clusters which are managed by the user not by cloud provider +### Highly Available (HA) Clusters +Self-managed clusters with the following components: +- Distributed etcd database instances +- HAProxy load balancer for control plane high availability +- Multiple control plane nodes +- Worker nodes -you can choose between k3s and kubeadm as your bootstrap tool +Choose between two bootstrap options: +- k3s (lightweight Kubernetes distribution) +- kubeadm (official Kubernetes bootstrap tool) -custom components being used -- Etcd database VM -- HAProxy loadbalancer VM for controlplane nodes -- controlplane VMs -- workerplane VMs +### Amazon EKS (Managed Clusters) +Elastic Kubernetes Service deployment with automated: +- IAM role creation and management +- Control plane setup +- Node group configuration -#### Managed Cluster Elastic Kubernetes Service +#### IAM Configuration +For each cluster, ksctl creates two roles: +- `ksctl--wp-role`: Manages node pool permissions +- `ksctl--cp-role`: Handles control plane access -we provision Roles `ksctl-*` 2 for each cluster: -- `ksctl--wp-role` for the EKS NodePool -- `ksctl--cp-role` for the EKS controlplane +#### Required IAM Policies -we utilize the iam:AssumeRole to assume the role and create the cluster - - -##### Policies aka permissions for the user -here is the policy and role which we are using - -1. **iam-role-full-access(Custom Policy)** +1. **Custom IAM Role Access Policy** ```json { "Version": "2012-10-17", @@ -98,7 +93,7 @@ here is the policy and role which we are using } ``` -2. **eks-full-access(Custom Policy)** +2. **Custom EKS Access Policy** ```json { "Version": "2012-10-17", @@ -117,18 +112,27 @@ here is the policy and role which we are using } ``` -3. **AmazonEC2FullAccess(Aws)** -4. **IAMReadOnlyAccess(Aws)** - -{{% alert color="info" title="Validaty of Kubeconfig" %}} -The Kubeconfig generated after you ran +3. **AWS Managed Policies Required** +- AmazonEC2FullAccess +- IAMReadOnlyAccess +{{% alert color="info" title="Kubeconfig Authentication" %}} +After switching to an AWS cluster using: ```shell ksctl switch aws --name here-you-go --region us-east-1 ``` +The generated kubeconfig uses AWS STS tokens which expire after 15 minutes. When you encounter authentication errors, simply run the switch command again to refresh the credentials. +{{% /alert %}} + -we are using sst token to authenticate with the cluster, so the kubeconfig is valid for 15 minutes +## Looking for CLI Commands? -once you see that there is a error of unauthorized then you need to re-run the above command +All CLI commands mentioned in this documentation have detailed explanations in our command reference guide. +{{% alert title="CLI Reference" %}} +👉 Check out our comprehensive [CLI Commands Reference](/docs/develop/reference/) for: +- Detailed command syntax +- Usage examples +- Available options and flags +- Common use cases {{% /alert %}} diff --git a/content/en/docs/Cloud Providers/azure.md b/content/en/docs/Cloud Providers/azure.md index 54e6fee..718e913 100644 --- a/content/en/docs/Cloud Providers/azure.md +++ b/content/en/docs/Cloud Providers/azure.md @@ -7,79 +7,70 @@ tags: [azure, ha, managed, core] --- {{% pageinfo %}} -Azure support for HA and Managed Clusters +Azure support for High Availability and Managed Kubernetes Clusters {{% /pageinfo %}} - {{% alert color="warning" title="Caution" %}} -we need credentials to access clusters - -these are confidential information so shouldn't be shared with anyone +Azure credentials are required to access clusters. These credentials are sensitive information and must be kept secure. {{% /alert %}} +## Azure Credential Requirements -### Azure Subscription ID - -subscription id using your subscription +### Subscription ID +Your Azure subscription identifier can be found in your subscription details. ![azure-subscription](/img/azure/azure-subs-id.png) - -### Azure Tenant ID - -#### Azure Dashboard - -Azure Dashboard contains all the credentials required - +### Tenant ID +Located in the Azure Dashboard, which provides access to all required credentials. ![azure-dashboard](/img/azure/azure-dashboard.png) -lets get the tenant id from the Azure +To locate your Tenant ID: ![](/img/azure/azure-tenantid.png) +### Client ID (Application ID) +Represents the identifier of your registered application. - -### Azure Client ID - -it represents the id of app created - +Steps to create: +1. Navigate to App Registrations ![](/img/azure/azure-app-reg.png) +2. Register a new application ![](/img/azure/azure-create-app-reg.png) +3. Obtain the Client ID ![](/img/azure/azure-clientid.png) +### Client Secret +Authentication key for your registered application. - -### Azure Client Secret - -it represents the secret associated with the app in order to use it - +Steps to generate: +1. Access secret creation ![create app secret](/img/azure/azure-client-secret1.png) - +2. Configure secret settings ![after-click](/img/azure/azure-client-secret.png) - +3. Save the generated secret ![copy-secret](/img/azure/azure-client-secret2.png) -### Assign Role to your app +### Role Assignment +Configure application permissions: -head over to subscriptions page and click **Access Control (IAM)** -select the **Role Assignment** and then click **Add > Add Role Assignment** -create a new role and when selecting the identity specify the name of the app -Here you can customize the role this app has +1. Navigate to Subscriptions > Access Control (IAM) +2. Select "Role Assignment" +3. Click "Add > Add Role Assignment" +4. Create new role and specify the application name +5. Configure desired permissions ![role-assign-app](/img/azure/azure-role-app.png) +## Authentication Methods -## How these credentials are used by ksctl - - -1. Environment Variables - +### Environment Variables ```bash export AZURE_TENANT_ID="" export AZURE_SUBSCRIPTION_ID="" @@ -87,41 +78,57 @@ export AZURE_CLIENT_ID="" export AZURE_CLIENT_SECRET="" ``` -2. Using command line - +### Command Line Interface ```bash ksctl cred ``` -## Current Features +## Available Cluster Types -### Cluster features -#### Highly Available cluster -clusters which are managed by the user not by cloud provider +### High Availability (HA) Clusters +Self-managed clusters with the following components: +- Distributed etcd database instances +- HAProxy load balancer for control plane high availability +- Multiple control plane nodes +- Worker nodes -you can choose between k3s and kubeadm as your bootstrap tool +Bootstrap options: +- k3s (lightweight Kubernetes distribution) +- kubeadm (official Kubernetes bootstrap tool) -custom components being used -- Etcd database VM -- HAProxy loadbalancer VM for controlplane nodes -- controlplane VMs -- workerplane VMs +### Azure Kubernetes Service (AKS) +Fully managed Kubernetes service by Azure. -#### Managed Cluster -clusters which are managed by the cloud provider +## Cluster Management Features -### Other capabilities +{{% alert title="Cluster Operations" %}} -#### Create, Update, Delete, Switch +### Managed Clusters (AKS) +- Create and delete operations +- Cluster switching +- Infrastructure updates currently not supported -{{% alert title="Update the cluster infrastructure" %}} +### High Availability Clusters +- Worker node scaling (add/remove) +- Secure SSH access to all components: + - Database nodes + - Load balancer + - Control plane nodes + - Worker nodes +- Protected by SSH key authentication +- Public access enabled -**Managed cluster**: till now it's not supported +{{% /alert %}} -**HA cluster** -- addition and deletion of new workerplane node -- SSH access to each cluster node (DB, LB, Controplane, WorkerPlane) _Public Access_, secured by private key -{{% /alert %}} +## Looking for CLI Commands? +All CLI commands mentioned in this documentation have detailed explanations in our command reference guide. +{{% alert title="CLI Reference" %}} +👉 Check out our comprehensive [CLI Commands Reference](/docs/develop/reference/) for: +- Detailed command syntax +- Usage examples +- Available options and flags +- Common use cases +{{% /alert %}} diff --git a/content/en/docs/Cloud Providers/civo.md b/content/en/docs/Cloud Providers/civo.md index 584d96b..8eaad80 100644 --- a/content/en/docs/Cloud Providers/civo.md +++ b/content/en/docs/Cloud Providers/civo.md @@ -7,68 +7,97 @@ tags: [civo, ha, managed, core] --- {{% pageinfo %}} -Civo support for HA and Managed Clusters +Civo support for High Availability and Managed Kubernetes Clusters {{% /pageinfo %}} {{% alert color="warning" title="Caution" %}} -we need credentials to access clusters - -these are confidential information so shouldn't be shared with anyone +Civo API credentials are required to access clusters. These credentials are sensitive information and must be kept secure. {{% /alert %}} +## Obtaining Civo Credentials -## Getting credentials +### 1. Access API Settings +Navigate to your Civo dashboard settings: -### under settings look for the profile ![](/img/civo/civo-settings.png) + +### 2. Open Profile Settings +Select your profile section: + ![](/img/civo/profile.png) -### copy the credentials -![](/img/civo/security-api.png) +### 3. Generate API Key +Access the API keys section and create or copy your API token: -## How to add credentials to ksctl +![](/img/civo/security-api.png) -1. Environment Variables +## Authentication Methods +### Environment Variables +Set your Civo API token: ```bash export CIVO_TOKEN="" ``` -2. Using command line - +### Command Line Interface +Use the ksctl credential manager: ```bash ksctl cred ``` -## Current Features +## Available Cluster Types + +### High Availability (HA) Clusters +Self-managed clusters with the following components: +- Distributed etcd database instances +- HAProxy load balancer for control plane high availability +- Multiple control plane nodes +- Worker nodes -### Cluster features -#### Highly Available cluster -clusters which are managed by the user not by cloud provider +Bootstrap options: +- k3s (lightweight Kubernetes distribution) +- kubeadm (official Kubernetes bootstrap tool) -you can choose between k3s and kubeadm as your bootstrap tool +### Civo Kubernetes Service (CKS) +Fully managed Kubernetes service by Civo. -custom components being used -- Etcd database VM -- HAProxy loadbalancer instance for controlplane nodes -- controlplane instances -- workerplane instances +## Cluster Management Features -#### Managed Cluster -clusters which are managed by the cloud provider +{{% alert title="Cluster Operations" %}} -### Other capabilities +### Managed Clusters (CKS) +- Cluster creation and deletion +- Cluster switching capability +- Infrastructure updates currently not supported -#### Create, Update, Delete, Switch +### High Availability Clusters +#### Node Management +- Dynamic worker node scaling (add/remove nodes) +- Secure SSH access to cluster components -{{% alert title="Update the cluster infrastructure" %}} +#### Access Control +- **Control Plane Components** + - Database nodes (Public access) + - Load balancer (Public access) + - Control plane nodes (Public access) + - All secured with SSH key authentication -**Managed cluster**: till now it's not supported +- **Worker Nodes** + - Private network access only + - SSH access via internal network + - Protected by SSH key authentication -**HA cluster** -- addition and deletion of new workerplane node -- SSH access to each cluster node (DB, LB, Controplane) _Public Access_, secured by private key -- SSH access to each workplane _Private Access_ via local network, secured by private key {{% /alert %}} +## Looking for CLI Commands? + +All CLI commands mentioned in this documentation have detailed explanations in our command reference guide. + +{{% alert title="CLI Reference" %}} +👉 Check out our comprehensive [CLI Commands Reference](/docs/develop/reference/) for: +- Detailed command syntax +- Usage examples +- Available options and flags +- Common use cases +{{% /alert %}} diff --git a/content/en/docs/Cloud Providers/local.md b/content/en/docs/Cloud Providers/local.md index d7ce767..313c667 100644 --- a/content/en/docs/Cloud Providers/local.md +++ b/content/en/docs/Cloud Providers/local.md @@ -17,4 +17,14 @@ It creates cluster on the host machine utilizing kind currently using Kind `Kubernetes in Docker` -{{< alert color="warning" title="About HA Cluster" >}}local system are constrained to fewer CPUs and memory so no HA cluster{{< /alert >}} +## Looking for CLI Commands? + +All CLI commands mentioned in this documentation have detailed explanations in our command reference guide. + +{{% alert title="CLI Reference" %}} +👉 Check out our comprehensive [CLI Commands Reference](/docs/develop/reference/) for: +- Detailed command syntax +- Usage examples +- Available options and flags +- Common use cases +{{% /alert %}} diff --git a/content/en/docs/Getting started/_index.md b/content/en/docs/Getting started/_index.md index 091fa65..fb95e58 100644 --- a/content/en/docs/Getting started/_index.md +++ b/content/en/docs/Getting started/_index.md @@ -67,5 +67,5 @@ make uninstall {{% alert color="info" title="How to start with cli" %}} -[Here is the CLI references](https://docs.ksctl.com/docs/develop/reference/) +[Here is the CLI references](/docs/develop/reference/) {{% /alert %}}