gopaddle v4.1 is a minor update with a few bug fixes and minor enhancements.
In this minor release we have introduced a gopaddle command line utility – gpctl to scaffold applications and import existing Kubernetes workloads to gopaddle. We have added support for Huawei Cloud and features that help in advanced configurations for service deployments and Docker builds.
gpctl import
Imports a pre-existing Kubernetes project with YAML files to gopaddle.
- Use cases:
- Migrate from GitOps to GUI based Cloud Native Governance platform
- Migrate from one cloud platform to another by building a reusable gopaddle template.
- Support Matrix:
- Supported on Ubuntu 20.04
- Supports github, bitbucket and gitlab source control repositories
- If the Kubernetes YAML files in the Kubernetes project have references to docker images, then they can be linked during the gpctl import. gptcl supports Docker public & private hub, AWS ECR, Google GCR, Azure ACR, and any Quay based private repositories.
- Here is a quick reference to the import capability – https://help.gopaddle.io/en/articles/5019209-import-an-existing-kubernetes-project-to-gopaddle
gpctl init (Alpha Version)
Initialize a microservice from source control repository and deploy to kubernetes in minutes.
- Use cases:
- Code to Kubernetes using a single command
- Automatically create a Docker file by profiling the microservice
- Automatically generate Kubernetes YAML files
- Deploy the service on Kubernetes and get the end point to access the service
- Support Matrix:
- Supported on Ubuntu 18.04 or later
- Only github based projects are supported
- Java, NodeJS, Python and any type of linux based workloads that do not bring up a terminal
- Here is a quick reference to initialize a microservice from source control repository – http://help.gopaddle.io/en/articles/5056807-initializing-a-microservice-from-scratch
Huawei Cloud Support
Use a pre-existing Huawei Cloud as an external cluster by registering it via Bastion Host or directly using its Private IP address
- Use case:
- Use Huawei Cloud for building docker containers
- Use Huawei Cloud for deploying applications
- Launch Stateful services on Huawei Cloud using Elastic Volume Service (EVS)
- Use Huawei LoadBalancer to access services via Domain Name and Ingress rules
- Launch Services on Huawei Cloud and access them using Public Elastic IP
- Open Issues
- Container Terminal doesn’t work when the Cluster is registered via Bastion Host
- Here is a quick start reference to use Huawei cloud with gopaddle – https://help.gopaddle.io/en/articles/5088697-registering-and-using-huawei-cloud-container-engine-via-bastion-host
Shared Persistent Volumes
Use Shared persistent volumes across services within an application.
- Use case:
- Share data across services within an application. Say Share Consul TLS Certificates across other Services within the same application.
- Here is a quick reference to how to create shared volumes across services – http://help.gopaddle.io/en/articles/5183639-creating-shared-volumes-across-services
Dockerfile Custom Path and Build Arguments
Use Dockerfile custom paths and build ARG while creating a Docker Project in gopaddle.
- Use cases:
- If the Docker project uses Dockerfile in a location other than the project root, the custom docker file path can be provided at the time of adding the build scripts to a container
- If the Container build requires certain environment variables to be set, it can be provided using the Build arguments at the time of adding the build scripts to a container
- Here is a quick reference on how to use custom Dockerfile path and build arguments –http://help.gopaddle.io/en/articles/3570925-adding-build-scripts
Version Control ConfigMaps and Secrets
Configurator integration: Use configurator to update and maintain configMaps and secrets in gopaddle
- Use cases:
- Keep services and configMaps/secrets in sync
- Version control configMaps/secrets
- Perform rolling updates or rollbacks on configMaps/secrets along with Deployments and Stateful sets
Custom Ingress
Use Ingress Controller for deployments. Define custom ingress controller like any other service in gopaddle and add it to the deployment templates.
- Use Case:
- Use custom ingress controller other than the default controller provided by gopaddle
- Custom Ingress Controllers can be on-boarded like any other service. Here is a quick reference to enable custom ingress at the time of creating a service – http://help.gopaddle.io/en/articles/3645657-creating-a-service
Azure Autoscaling
Define autoscaling triggers for Azure node pools.
- Use Case:
- Set autoscaling rules to scale the AKS nodes based on various factors like CPU / Disk Utilization
- Here is a quick reference on setting the AKS rules. http://help.gopaddle.io/en/articles/5316151-azure-autoscaling-rules
Node and Service Affinity Rules
- Use Case:
- Schedule and Co-locate Services based on Node and Service Affinity
- Here is a quick reference on setting the Node and Service Affinity – http://help.gopaddle.io/en/articles/5316070-service-and-node-affinity