Duration:
10 Days
Code:
TMGKAD
Audience:
Employees of federal, state & local governments; and businesses working with the government.
Prerequisites:
Basic working knowledge of the Linux command line
Course Description:
This custom-built course was designed for DoD personnel and their potential use-cases. By design and implementation, it is nearly 100% hands-on with lab exercises used to practice and reinforce brief lectures. The course culminates in a final practical lab exercise that forces participants to integrate and utilize all of the tools and concepts practices during the course.
Tmux:
- Installation & starting sessions
- Detaching and attaching sessions
- Renaming sessions
- Adding windows & navigating
- Window naming
- Working with multiple sessions
- Using panes; creating, splitting, navigating, managing, closing
- Nested sessions, creating, using and navigating (key bindings)
- Customizing tmux using configuration files; key bindings, mouse behavior, color schemes Markdown:
- Common markdown syntax and usage
Git & GitLab:
- Overview of version control & source code management.
- Basic git command syntax – Setting/Managing git variables
- Creating repositories, cloning repositories (local and remote)
- Adding and removing files to/from a repository
- Checking status and commiting staged files
- Viewing changes between working directory and staging area
- Creating, managing, and merging branches
- Understanding git logging to track changes
- Undoing/reverting changes
- Tagging
- Using GPG to digitally sign and validate changes (tags & commits)
- GitLab account setup and
- Configuring GitLab for SSH access
- Configuring GitLab for GPG signing
- GitLab use and navigation:
- Creating projects and managing project members
- Using groups to manage project permissions
- Forking Projects
- Creating Branches
- Adding Files
- Merging and Rebasing
- Blame, history
Ansible:
- Overview of Ansible, its terminology and its use-cases.
- Review of YAML and formatting
- Building/installing an Ansible control machine
- Working with Ansible inventories
- Running ad-hoc command using Ansible
- Creating and using Ansible Playbooks
- Integrating Roles with Playbooks
- Ansible vault
- Working with variables
- Jinja2 templating
Docker:
- Overview of containerization & Docker Architecture
- Installing Docker – Configuring the Docker daemon
- Managing Containers (creating, listing, stopping, starting, removing)
- Interacting with Containers (running commands)
- Managing Docker Images (searching, listing, downloading, deleting)
- Creating Images with Dockerfile
- Docker Volumes (creating, managing, removing, using external volumes)
- Mapping devices
- Docker Compose
- Docker Networking
- Configuring, using, and managing Docker networks
Kubernetes:
- Overview of Kubernetes, its purpose, and how it relates to containers
- Kubernetes components (Master/Slave Nodes, Pods, Service, Ingress, Volumes, Secret, ConfigMap)
- Using kubectl for Kubernetes management
- Kubernetes minikube
- Creating Deployments and Services using kubectl and (YAML) configuration files
- Mapping ports to Service and Pods
- Configuring containers
- Configuring and managing Volumes (local/PVC)
- Using ConfigMaps and Secret to configure deployments
- Using k9s to manage clusters
- Using kubectl to troubleshoot/debug Pods, Services
- Using kubectl to access a shell/run commands on a running container