Skip to content

Commit

Permalink
Merge pull request #49 from sighupio/feat/add-1.28
Browse files Browse the repository at this point in the history
Feat: add 1.28
  • Loading branch information
nutellinoit authored Apr 15, 2024
2 parents 6d18f38 + 378c002 commit 456f058
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 43 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

![Fury Logo](./utils/images/fury_logo.png)

Getting started guides to create Fury clusters and deploy the Kubernetes Fury Distribution in different environments with furyctl `>= 0.27.1`
Getting started guides to create Fury clusters and deploy the Kubernetes Fury Distribution in different environments with furyctl `>= 0.28.0`

| Guide | furyctl Provider | Environment | Fury Release | Kubernetes Version | Status |
| ---------------------------------------------- | ---------------- | --------------- | ------------ | ------------------ | ------------------ |
| [Fury on EKS](fury-on-eks/README.md) | EKSCluster | ☁ AWS | v1.27.1 | v1.27 | :white_check_mark: |
| [Fury on Minikube](fury-on-minikube/README.md) | KFDDistribution | 💻 On premises | v1.27.1 | v1.27 | :white_check_mark: |
| [Fury on VMs](fury-on-vms/README.md) | OnPremises | 💻 On premises | v1.27.1 | v1.27 | :white_check_mark: |
| [Fury on EKS](fury-on-eks/README.md) | EKSCluster | ☁ AWS | v1.28.0 | v1.28 | :white_check_mark: |
| [Fury on Minikube](fury-on-minikube/README.md) | KFDDistribution | 💻 On premises | v1.28.0 | v1.28 | :white_check_mark: |
| [Fury on VMs](fury-on-vms/README.md) | OnPremises | 💻 On premises | v1.28.0 | v1.28 | :white_check_mark: |


Getting started guides to create Fury clusters and deploy the Kubernetes Fury Distribution in different environments with furyctl `<= 0.11.1`
Expand Down
14 changes: 10 additions & 4 deletions fury-on-eks/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Fury on EKS with furyctl next

This step-by-step tutorial guides you to deploy the **Kubernetes Fury Distribution** (KFD) on an EKS cluster on AWS using the furyctl `>=0.27.1`
This step-by-step tutorial guides you to deploy the **Kubernetes Fury Distribution** (KFD) on an EKS cluster on AWS using the furyctl `>=0.28.0`

This tutorial covers the following steps:

Expand Down Expand Up @@ -66,7 +66,7 @@ is located at `/tmp/fury-getting-started/fury-on-eks/furyctl.yaml`.

> ℹ️ You can also create a sample configuration file by running the following command:
> ```bash
> furyctl create config --version v1.27.1 -c custom-furyctl.yaml
> furyctl create config --version v1.28.0 -c custom-furyctl.yaml
> ```
> and edit the `custom-furyctl.yaml` file to fit your needs, when you are done you can use the `--config` flag to specify the path to the configuration file in the
> following commands.
Expand All @@ -89,7 +89,7 @@ kind: EKSCluster
metadata:
name: <CLUSTER_NAME>
spec:
distributionVersion: "v1.27.1"
distributionVersion: "v1.28.0"
toolsConfiguration:
terraform:
state:
Expand Down Expand Up @@ -155,11 +155,12 @@ The Kubernetes section of the `furyctl.yaml` file contains the following paramet
kubernetes:
nodePoolsLaunchKind: "launch_templates"
nodeAllowedSshPublicKey: "{file:///path/to/id_rsa.pub}"
logRetentionDays: 1
apiServer:
privateAccess: true
publicAccess: true
privateAccessCidrs: []
publicAccessCidrs: []
publicAccessCidrs: ["0.0.0.0/0"]
nodePools:
- name: infra
size:
Expand Down Expand Up @@ -234,6 +235,8 @@ The Distribution section of the `furyctl.yaml` file contains the following param
type: loki
minio:
storageSize: 50Gi
monitoring:
type: prometheus
dr:
type: eks
velero:
Expand All @@ -242,6 +245,9 @@ The Distribution section of the `furyctl.yaml` file contains the following param
bucketName: <S3_VELERO_BUCKET_NAME>
policy:
type: gatekeeper
gatekeeper:
enforcementAction: warn
installDefaultPolicies: true
auth:
provider:
type: basicAuth
Expand Down
7 changes: 6 additions & 1 deletion fury-on-eks/furyctl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ kind: EKSCluster
metadata:
name: <CLUSTER_NAME>
spec:
distributionVersion: "v1.27.1"
distributionVersion: v1.28.0
toolsConfiguration:
terraform:
state:
Expand Down Expand Up @@ -110,6 +110,8 @@ spec:
type: loki
minio:
storageSize: 50Gi
monitoring:
type: prometheus
dr:
type: eks
velero:
Expand All @@ -118,6 +120,9 @@ spec:
bucketName: <S3_VELERO_BUCKET_NAME>
policy:
type: gatekeeper
gatekeeper:
enforcementAction: warn
installDefaultPolicies: true
auth:
provider:
type: basicAuth
Expand Down
46 changes: 26 additions & 20 deletions fury-on-minikube/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ cd fury-getting-started/fury-on-minikube
```bash
export REPO_DIR=$PWD
export KUBECONFIG=$REPO_DIR/kubeconfig
minikube start --vm-driver=virtualbox --kubernetes-version v1.27.1 --memory=16384m --cpus=6
minikube start --vm-driver=virtualbox --kubernetes-version v1.28.3 --memory=16384m --cpus=6
```

> ⚠️ This command will spin up by default a single-node Kubernetes v1.27.1 cluster, using VirtualBox driver, with 6 CPUs, 16GB RAM and 20 GB Disk.
> ⚠️ This command will spin up by default a single-node Kubernetes v1.28.7 cluster, using VirtualBox driver, with 6 CPUs, 16GB RAM and 20 GB Disk.
2. Test the connection to the minikube cluster:

Expand All @@ -55,13 +55,13 @@ kubectl get nodes
Output:

```bash
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 104s v1.27.1
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 9s v1.28.3
```

## Step 3 - Install furyctl

Install `furyctl` binary: https://github.com/sighupio/furyctl#installation version `>=0.27.1`.
Install `furyctl` binary: https://github.com/sighupio/furyctl#installation version `>=0.28.0`.

## Step 3 - Installation

Expand All @@ -75,8 +75,9 @@ kind: KFDDistribution
metadata:
name: fury-local
spec:
distributionVersion: v1.27.1
distributionVersion: v1.28.0
distribution:
kubeconfig: "{env://KUBECONFIG}"
modules:
networking:
type: none
Expand All @@ -94,9 +95,7 @@ spec:
logging:
type: loki
monitoring:
alertmanager:
deadManSwitchWebhookUrl: ""
slackWebhookUrl: ""
type: prometheus
policy:
type: none
dr:
Expand Down Expand Up @@ -144,7 +143,7 @@ In this example, we are installing the distribution with the following options:
Execute the installation with furyctl:
```bash
furyctl create cluster --outdir $PWD
furyctl apply --outdir $PWD
```
> ⏱ The process will take some minutes to complete, you can follow the progress in detail by running the following command:
>
Expand All @@ -158,17 +157,24 @@ The output should be similar to the following:
```bash
INFO Downloading distribution...
INFO Validating configuration file...
INFO Downloading dependencies...
INFO Validating dependencies...
INFO Installing Kubernetes Fury Distribution...
INFO Checking that the cluster is reachable...
INFO Checking if at least one storage class is available...
INFO Checking if all nodes are ready...
INFO Applying manifests...
INFO Saving furyctl configuration file in the cluster...
INFO Validating configuration file...
INFO Downloading dependencies...
INFO Validating dependencies...
INFO Running preflight checks
INFO Checking that the cluster is reachable...
INFO Cannot find state in cluster, skipping...
INFO Running preupgrade phase...
INFO Preupgrade phase completed successfully
INFO Installing Kubernetes Fury Distribution...
INFO Checking that the cluster is reachable...
INFO Checking storage classes...
INFO Checking if all nodes are ready...
INFO Applying manifests...
INFO Kubernetes Fury Distribution installed successfully
INFO Applying plugins...
INFO Skipping plugins phase as spec.plugins is not defined
INFO Saving furyctl configuration file in the cluster...
INFO Saving distribution configuration file in the cluster...
INFO Kubernetes Fury Distribution installed successfully
```
🚀 The (subset of the) distribution is finally deployed! In this section you will explore some of its features.
Expand Down
7 changes: 3 additions & 4 deletions fury-on-minikube/furyctl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ kind: KFDDistribution
metadata:
name: fury-local
spec:
distributionVersion: v1.27.1
distributionVersion: v1.28.0
distribution:
kubeconfig: "{env://KUBECONFIG}"
modules:
networking:
type: none
Expand All @@ -27,9 +28,7 @@ spec:
logging:
type: loki
monitoring:
alertmanager:
deadManSwitchWebhookUrl: ""
slackWebhookUrl: ""
type: prometheus
policy:
type: none
dr:
Expand Down
22 changes: 16 additions & 6 deletions fury-on-vms/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This tutorial assumes some basic familiarity with Kubernetes.

To follow this tutorial, you need:

- **kubectl** - 1.27.x to interact with the cluster.
- **kubectl** - 1.28.x to interact with the cluster.
- **furyagent** - to provision initial cluster PKI, install the latest version following the instructions [here](https://github.com/sighupio/furyagent#installation)
- **Ansible** - used by furyctl to execute the roles from KFD installers
- VMs OS: Rocky linux 8, Debian 12, or Ubuntu 20
Expand Down Expand Up @@ -63,7 +63,7 @@ pki
```
## Step 2 - Install furyctl

Install `furyctl` binary: https://github.com/sighupio/furyctl#installation version 0.27.1.
Install `furyctl` binary: https://github.com/sighupio/furyctl#installation version 0.28.0.

## Step 3 - Decide the strategy for the SSL certificates

Expand Down Expand Up @@ -287,6 +287,18 @@ This section configures the `fury-kubernetes-logging` module. In this example we

The minio configuration is the S3 bucket used by loki to store logs, the storageSize selected defines the size for each minio disk, in total 6 disk splitted in 2 per 3 minio replicas.

#### Monitoring core module

```yaml
spec:
distribution:
modules:
monitoring:
type: prometheus
```

This section configures the `fury-kubernetes-monitoring` module. The complete stack with prometheus.

#### Policy (OPA) core module and Tracing core module

```yaml
Expand Down Expand Up @@ -350,7 +362,7 @@ Now that everything is configured you can proceed with the installation using th
Simply execute:

```bash
furyctl create cluster --outdir $PWD
furyctl apply --outdir $PWD
```

> ⏱ The process will take some minutes to complete, you can follow the progress in detail by running the following command:
Expand All @@ -364,8 +376,7 @@ furyctl create cluster --outdir $PWD
The output should be similar to the following:

```bash
INFO Downloading distribution...
INFO Compatibility patches applied for v1.27.1
INFO Downloading distribution...
INFO Validating configuration file...
INFO Downloading dependencies...
INFO Validating dependencies...
Expand Down Expand Up @@ -399,7 +410,6 @@ furyctl create cluster --outdir $PWD --skip-deps-download

```bash
INFO Downloading distribution...
INFO Compatibility patches applied for v1.27.1
INFO Validating configuration file...
INFO Validating dependencies...
INFO Running preflight checks
Expand Down
6 changes: 2 additions & 4 deletions fury-on-vms/furyctl.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ kind: OnPremises
metadata:
name: getting-started
spec:
distributionVersion: v1.26.2
distributionVersion: v1.28.0-rc.12
kubernetes:
pkiFolder: ./pki
ssh:
Expand Down Expand Up @@ -81,9 +81,7 @@ spec:
minio:
storageSize: "20Gi"
monitoring:
alertmanager:
deadManSwitchWebhookUrl: ""
slackWebhookUrl: ""
type: prometheus
policy:
type: none
dr:
Expand Down

0 comments on commit 456f058

Please sign in to comment.