Taro Logo
1

Kubernetes and Docker skill improvement

Profile picture
Software Engineering Intern at Taro Community3 months ago

I know you guys on this platform push learn by doing heavily. I want to learn more on docker and kubernetes but i don't have a project idea right now that needs me to use those tools. How would you suggest me learn? I'm just trying to get off learning everything from a tutorial.

Also I found this platform from twitter and wanted to know what you guys thought of it? https://labs.iximiuz.com/ since it has labs and technically you're doing... lol

52
3

Discussion

(3 comments)
  • 1
    Profile picture
    Engineer @ Robinhood
    3 months ago

    Have you tried asking ChatGPT? If not:

    Building projects is a great way to learn Kubernetes and Docker. Consider creating a multi-container application using Docker, then orchestrate it with Kubernetes. Some ideas include:

    1. Microservices Application: Develop a simple microservices-based application with different services running in separate containers. Dockerize each service and use Kubernetes for orchestration.

    2. DevOps Dashboard: Build a dashboard to monitor and manage your Docker containers and Kubernetes clusters. Use tools like Prometheus and Grafana for monitoring.

    3. Continuous Deployment Pipeline: Create a CI/CD pipeline that automates building Docker images, pushing them to a registry, and deploying them to Kubernetes clusters. You can use Jenkins, GitLab CI, or another CI/CD tool.

    4. Scalable Web App: Develop a web application and set up auto-scaling using Kubernetes. Experiment with load balancing and scaling policies to handle varying workloads.

    5. Stateful Application: Learn about StatefulSets in Kubernetes by deploying a stateful application, like a database, and manage its persistent data storage.

    6. Health Checks and Self-healing: Implement health checks in your application and configure Kubernetes to perform rolling updates and automatic healing based on these checks.

    7. Service Mesh Integration: Explore service mesh technologies like Istio or Linkerd. Implement features like traffic splitting, load balancing, and security policies.

    8. Monitoring and Logging Stack: Set up a comprehensive monitoring and logging solution using tools such as Prometheus, Fluentd, and Elasticsearch. Monitor resource usage, application performance, and log data.

    9. Multi-Cluster Deployment: Deploy your application across multiple Kubernetes clusters. Explore strategies for load balancing, data synchronization, and resilience in a multi-cluster setup.

    10. Security Practices: Focus on securing your Docker containers and Kubernetes clusters. Implement RBAC (Role-Based Access Control), network policies, and image scanning for vulnerabilities.

    Remember to document your progress, challenges, and solutions. This will not only help you solidify your understanding but also serve as a valuable reference for others.

  • 2
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    3 months ago

    One of your perks as a Taro member is a discount for CodeCrafters.io where you can literally go build your own Docker instance. If you're interested, you can redeem it here: https://app.codecrafters.io/join?via=TaroCareer

    The link you shared seems pretty good, but then again, I'm not a Docker/Kubernetes expert. These 2 stacks are harder to do side projects for as they're more on the infra side. I recommend going through your network for the best practical resources as well.

  • 1
    Profile picture
    Data Engineer @ CI Financial
    3 months ago

    Just thought I'd add roadmap.sh has roadmaps for both Docker (https://roadmap.sh/docker) and Kubernetes (https://roadmap.sh/kubernetes). It's not a practical project like you're looking for, but they at least give you a bird's eye view of both tools.