Join the Challenge
We are thrilled to announce the DigitalOcean Kubernetes Challenge!
Whether you’re new to Kubernetes or have been running production clusters for years, DigitalOcean’s Kubernetes Challenge will give you an opportunity to level up your Kubernetes skill set before the end of the year.
Join the challenge to sharpen your devops skills, learn more about Cloud Native Computing Foundation (CNCF) projects, win prizes, and have fun along the way!
How to Participate
- Pick one challenge from the list below
- Create a GitHub or GitLab repo for your project
- Fill out the code challenge form to get DigitalOcean credits for your project
- Join the #kubernetes-challenge channel in the DigitalOcean Deploy Discord
- Complete your challenge
- Write about what you’ve built and share it on a blog or in your project readme
- Make a pull request against the Kubernetes Challenge Github Repo with information about your project
- Let us know you’ve completed your challenge by filling out this form
- Upon successfully completing these steps, participants will receive the following prizes (each of which expire after one year after the date of receipt):
- $150 to donate to your project of choice in Open Collective
- $100 gift card to be used at the DigitalOcean Swag Store
- $50 gift card to be used at the CNCF Swag Store
Join the Kubernetes Challenge!
Choose your Challenge
New to Kubernetes? Try one of these challenges. You’ll get $60 in DigitalOcean credits for your project.
- Deploy an internal container registry
Kubernetes does not provide an internal container registry but it is often useful to add one. There are many projects which enable you to deploy an internal container registry, such as Harbour or Trow.
- Deploy a log monitoring system
So your applications produce logs. Lots of logs. How are you supposed to analyze them? A common solution is to aggregate and analyze them using the ELK stack, alongside fluentd or fluentbit.
- Deploy a scalable SQL database cluster
When deploying a database on Kubernetes, you have to make it redundant and scalable. You can rely on database management operators like KubeDB or database-specific solutions like Kubegres for PostgreSQL or the MySQL Operator for MySQL.
- Deploy scalable NoSQL database cluster
When it comes to cloud native, using No-SQL solutions has its advantages. You can deploy a cluster of MongoDB, Cassandra, or CouchDB instances to explore how to run a NoSQL database in Kubernetes.
Used Kubernetes before? Level-up your K8s skills with one of these projects. You’ll get $120 in DigitalOcean credits.
- Deploy a scalable message queue
A critical component of all the scalable architectures are message queues used to store and distribute messages to multiple parties and introduce buffering. Kafka is widely used in this space and there are multiple operators like Strimzi or to deploy it. For this project, use a sample app to demonstrate how your message queue works.
- Deploy a big data management system
Big data systems live in clouds as they need to be scalable. One of the more used big data management solutions is Spark, and it can be installed in Kubernetes leveraging its native integration with Kubernetes.
- Deploy a machine learning management platform
Machine learning requires complex workflows, and can benefit from an AI/ML management platform. Kubeflow offers a wide range of features in this area, including creation of Notebooks, Pipelines, Model training, Model Serving, and more.
- Deploy a security and compliance system
When you deploy an image you may also deploy a security threat, and images can become quickly insecure as new threats are discovered and disclosed. To continuously monitor and detect threats, you can deploy a tool like Falco.
Kubernetes expert? Challenge yourself with one of these projects. You’ll get $120 in DigitalOcean credits for your project.
- Deploy a virtual cluster solution
Install vcluster to test upgrades (eg. 1.20 to 1.21 DOKS version) of your cluster. With a virtual cluster, you can create a new Kubernetes cluster inside your existing DOKS cluster, test the application in this new vcluster, and then upgrade your original cluster if everything works well with the new version. https://loft-sh.medium.com/high-velocity-engineering-with-virtual-kubernetes-clusters-7df929ac6d0a
- Deploy a GitOps CI/CD implementation
GitOps is today the way you automate deployment pipelines within Kubernetes itself, and ArgoCD is currently one of the leading implementations. Install it to create a CI/CD solution, using tekton and kaniko for actual image building. https://medium.com/dzerolabs/using-tekton-and-argocd-to-set-up-a-kubernetes-native-build-release-pipeline-cf4f4d9972b0
- Deploy a solution for policy enforcement
Install and use Kyverno, a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations using admission controls and background scans. Kyverno policies are Kubernetes resources and do not require learning a new language. Kyverno is designed to work well with tools you already use like kubectl, kustomize, and Git. Create policies for mandatory labels for every deployment, and image download only permitted from DOCR. https://kyverno.io/policies/
- Deploy a solution for configuring Kubernetes "from the inside"
Install Crossplane, which is like Terraform but you manage the infra from inside Kubernetes, not from outside. Crossplane is an open source Kubernetes add-on that enables platform teams to assemble infrastructure from multiple vendors, and expose higher level self-service APIs for application teams to consume, without having to write any code.
Want to build something that’s not on this list?
Pitch us an idea that uses at least one project from the CNCF.
Join the Kubernetes Challenge!