Developers can love K8s if you help them

Gerardo Lopez Falcón
Google Cloud - Community
2 min readAug 20, 2023

Involving developers in using Kubernetes (K8s) effectively requires a combination of education, collaboration, and providing the right tools. Here’s a step-by-step guide on how to achieve this:

Education and Training

Start by providing your developers with training and resources on Kubernetes basics, including its concepts, components, and how it works. This education can be in the form of workshops, online courses, tutorials, and documentation. Help them understand the value of Kubernetes in modern application deployment and management.

Hands-On Workshops

Organize hands-on workshops where developers can interact with Kubernetes firsthand. Provide practical exercises that cover tasks like deploying applications, scaling, updating, and managing configurations. Workshops help developers gain confidence and familiarity with Kubernetes operations.

Local Development Environment

Set up a local Kubernetes development environment using tools like Minikube or Kind. Developers can experiment and learn Kubernetes concepts without affecting the production environment.

Standardized Kubernetes Configuration

Create standardized Kubernetes configuration templates for common application types. This includes deployment, service, and ingress configurations. This consistency streamlines the deployment process and reduces the learning curve for developers.

Containerization

Teach developers about containerization using Docker. Encourage them to containerize their applications, making it easier to deploy and manage them in Kubernetes clusters.

Continuous Integration (CI) and Continuous Deployment (CD)

Integrate Kubernetes into your CI/CD pipeline. This allows developers to push code changes to version control, triggering automated builds and deployments to Kubernetes clusters. Tools like Jenkins, GitLab CI/CD, and Tekton can assist with this.

Use Kubernetes Manifests

Encourage developers to write Kubernetes manifests (YAML files) for their applications. This empowers them to define deployment, services, and other resources as code. Provide guidelines and best practices for writing manifests.

Collaborative Environment

Foster collaboration between developers and operations teams. Create channels for communication, knowledge sharing, and problem-solving related to Kubernetes. Regular meetings or forums can facilitate this collaboration.

Documentation and Resources

Maintain an internal knowledge base or documentation repository that covers Kubernetes usage, best practices, troubleshooting, and common issues. Developers can refer to these resources when facing challenges.

Feedback Loop

Establish a feedback loop where developers can share their experiences, challenges, and suggestions related to using Kubernetes. Act on this feedback to improve the developer experience.

Mentoring and Support

Assign mentors or experienced Kubernetes users to support developers who are new to Kubernetes. This mentorship can be instrumental in overcoming obstacles and building confidence.

Recognition and Incentives

Recognize and reward developers who embrace Kubernetes and contribute positively to its adoption. Highlight their successes and showcase their projects.

Showcase Successful Use Cases

Share success stories of applications that have benefited from Kubernetes adoption. Demonstrating tangible benefits can motivate more developers to explore and use Kubernetes.

Remember that the journey to Kubernetes adoption is gradual. Be patient and provide ongoing support as developers transition from traditional deployment methods to Kubernetes-based workflows.

--

--

Gerardo Lopez Falcón
Google Cloud - Community

Google Developer Expert & Sr Software Engineer & DevOps &. Soccer Fan