DO2-001: Deploy&Operate Engineer Professional Artisan
DO2-001 is the second certification in the multi-level professional certification program of the DevOps Artisan Deploy & Operate Learning Path.
The DO2-001 will validate the candidate’s skillset with real-world questions designed by experienced Docker and Kubernetes practitioners.
Prerequisite
The candidate must have an active DO1-001 certification in order to take the DO2-001 exam.
Details
• Explain the purpose of daemon sets in Kubernetes
• Explain Kubernetes jobs and the difference between Jobs and Deployments
• Explain CronJobs. Understand the cron syntax
• Explain ConfigMaps
• Explain Secrets
Objective 1.2. Explain Kubernetes Ingress
Details
• Understand the difference between Ingress resources and Ingress controllers
• Understand virtual hosts and path-based fanout
• Explain how Ingress resources can be used to direct traffic based on hostname and URL path
Objective 1.3. Explain Kubernetes Role-Based Access Control (RBAC)
Details
• Explain the difference between users, groups, and service accounts in Kubernetes
• Explain Roles and RoleBindings
• Understand the difference between Roles and ClusterRoles, RoleBindings and ClusterRoleBindings
• Understand API groups and verbs
Objective 1.4. Understand Helm and Helm charts
Details
• Explain what Helm is
• Explain what Helm charts are
• Understand Helm repositories and charts
• Be able to deploy applications on a Kubernetes cluster from a Helm chart
• Understand the differences between Helm v2 and Helm v3, and the security implications of Helm v2
Objective 1.5. Understand the Kubernetes Dashboard
Details
• Be able to deploy the Kubernetes Dashboard
• Understand Dashboard permissions, and how to authenticate to the Dashboard
• Explain how to use the dashboard to view the cluster status and create resources on the cluste
Details
• Explain the application logging process in a containerized environment
• Be able to view container logs using kubectl
• Be able to use kubectl to collect logs from multiple containers by using selectors
• Understand the usage of log visualization tools (kubetail, stern)
• Explain centralized logging in a Kubernetes cluster
• Explain the flow of a log line in a centralized logging environment
Objective 1.7. Explain Kubernetes monitoring
Details
• Explain metrics and sources of metrics in a containerized environment
• Explain time series
• Explain how operators can be used to deploy applications on Kubernetes (e.g. the Prometheus operator)
• Explain Kubernetes monitoring using Prometheus
Details
• Troubleshoot crashing pods
• Troubleshoot pods that cannot be scheduled
• Troubleshoot pods that cannot start
Objective 1.9. Explain Kubernetes pod scheduling concepts
Details
• Compare and contrast how nodeName and nodeSelector can be used to constrain the nodes on which a pod can be scheduled
• Explain pod-to-node affinity and anti-affinity – required vs preferred rules
• Explain pod-to-pod affinity and anti-affinity. Understand the use of topologyKey
• Explain taints and tolerations
• Be able to use cordon and drain
• Explain resources and limits, and how they are used when scheduling and when running pods
Part 2: Docker
Objective 2.1. Explain what Docker Swarm is
Details
• Define Docker Swarm components
• Differentiate between the Docker node roles
• Explain how the orchestration is performed
• Explain how services can be created, updated and managed
• Differentiate between the services types defined in Docker
Objective 2.2. Explain how labels and filters can be used
Details
• Explain what labels are in the context of Docker
• Explain the labels behaviour for different types of Docker objects
• Explain when and how labels can be set
• Explain what filters are and how they can be used
Details
• Describe and explain the Container Networking Model
• Differentiate between the types of networks available when working with Docker
• Explain how networks can be created, managed and customized
• Explain how networking works in the context of Docker Swarm
• Explain the Routing Mesh mechanism
Objective 2.4. Explain how compose files look like and how they can be run
Details
• Explain what compose files are and which is their purpose
• Describe the format of the compose files and their particularities
• Differentiate between Docker Compose and Docker Stack
• Explain what can be defined in a compose file
• Describe how services and stacks can be deployed
Objective 2.5. Explain how nodes and containers can be managed by Docker
Details
• Explain what resources can be restricted when working with containers and services
• Explain what placement constraints are and how they can be used
• Explain how auto-restart options can be used in the context of containers and services
• Explain how service updates are rolled
• Explain what health checks are and how they can be used
Objective 2.6. Explain how monitoring and logging is performed in the context of Docker
Details
• Explain how logging works in the context of Docker
• Explain how monitoring is performed in the context of Docker
• Explain how metrics can be exported to tools like Prometheus
• Explain how Grafana can be used for visualizing the results
Objective 2.7. Explain how security is achieved when working with Docker
Details
• Explain OS and Docker features that ensure container security
• Explain how network encryption works in the context of Docker
• Explain what secrets and configs are and how they can be managed
• Explain what Docker Bench for Security is
Objective 2.8. Explain how Docker images can be managed
Details
• Explain where images are stored and how they are organized
• Explain multi stage builds
• Explain how Docker Content Trust works
• Explain how images can be signed and uploaded to registries