Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maheshrayas/hackathon-2022
https://github.com/maheshrayas/hackathon-2022
Last synced: 15 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/maheshrayas/hackathon-2022
- Owner: maheshrayas
- Created: 2022-06-22T05:16:02.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-06-23T03:42:31.000Z (over 2 years ago)
- Last Synced: 2024-04-21T17:20:57.782Z (7 months ago)
- Language: Shell
- Size: 111 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hackathon 2022
# Summary
## Prerequisite
Install all the tools required.
[task](https://taskfile.dev/installation/)
[kubectl](https://kubernetes.io/docs/tasks/tools/)
[clusterapi](https://cluster-api.sigs.k8s.io/user/quick-start.html#install-clusterctl)
[talosctl](https://www.talos.dev/v1.0/introduction/getting-started/#talosctl)
[gcloud](https://cloud.google.com/sdk/docs/install )
[yq](https://github.com/mikefarah/yq#install)
## Capabilities
## User Journey
Create Business case and benefits for the users
TODO
### Cluster Mesh
https://docs.cilium.io/en/stable/gettingstarted/clustermesh/clustermesh/#gs-clustermesh
Requirements
* PodCIDR ranges in all clusters and all nodes must be non-conflicting and unique IP addresses.
* Nodes in all clusters must have IP connectivity between each other. This requirement is typically met by establishing peering or VPN tunnels between the networks of the nodes of each cluster.
* The network between clusters must allow the inter-cluster communication. The exact ports are documented in the Firewall Rules section.
### Service Mesh
TBC
## GCP Setup
The following must be done to setup your GCP project.
1. Create GCP project
2. Enable required APIs (*compute engine)
3. Create `cluster-api` GSA and provide it with `role/Owner` (*scope could be smaller but for simplicity Owner is sufficent)
4. Create GCS bucket called `talos-images-01` - name needs to be globally unique so a UID suffix would be best
5. Create the VM images using `task talos:image`
6. Update FW rules to include TCP ports for `6443,50000` which is used by Talos to connect and bootstrap nodes (* see Limitation section about I/O Timeouts)WIP
## Limitations
### I/O Timeout During Bootstrap
Currently the default FW rules created in GCP don't expose port 50000 which is used by the talos bootstrap provider and therefore the cluster is stuck in a pending state to bootstrap, therefore it's required that this must be managed currently outside of the CAPI implementation until it's solved upstream.
https://github.com/siderolabs/cluster-api-control-plane-provider-talos/issues/127
Recommendation is to create your own existing network: https://github.com/kubernetes-sigs/cluster-api-provider-gcp/blob/main/docs/book/src/topics/prerequisites.md#setup-a-network-and-cloud-nat
### AWS Template CNI
> Calico is the only supported CNI right now. The AWS Cluster API provider sets up Calico rules by default in its created security groups. Other CNIs can likely be used, but it will take some extra work on setting up the groups manually and specifying them as extra groups in the cluster manifests.
https://github.com/siderolabs/cluster-api-templates/tree/main/aws#assumptions-and-caveats
## Stretch Goals
Creating multi-regional clusters.