آموزش devops

Devops-Tools

Docker :

داکر، یک پلتفرم برای توسعه ، انتقال و اجرای نرم افزارها می باشد.با جداسازی برنامه ها و استقلال آن از زیرساخت اجرایی (محیط تست و محیط عملیاتی) و بسته بندی تمام پیشنیازهای اجرایی یک برنامه در قالب یک یا چند کانتینر ، انتقال و استقرار برنامه در محیط هدف با سرعت غیر قابل قیاس با گذشته و کمترین هزینه ممکن قابل دسترس خواهد بود.

به این ترتیب ،تفاوت زیرساخت محیط های تولید وعملیات بی تاثیر بوده و نیازی به حضور فیزیکی کارشناسان فنی در سازمان مقصد ، جهت نصب پیشنیازهای برنامه نخواهد بود.

علاوه بر این به دلیل استفاده از کانتینر و بر خلاف ماشین مجازی ، سرعت لود شدن برنامه در محیط مقصد به چند میلی ثانیه کاهش می یابد (سرعت بوت شدن سیستم عامل ماشین مجازی و لود برنامه حدود چند دقیقه خواهد بود).   

Docker Syllabus

 

Estimated time : 24 H

 

Introduction to Containerization

  • Containerization
  • History of Containers
  • Namespaces and Cgroups
  • Containers vs Virtual Machines
  • Types of Containers
  • Introduction to Docker
  • Docker Architecture
  • Container Lifecycle
  • Docker CE vs Docker EE

 

The Docker Engine

  • Docker Engine
  • Configuring Logging Drivers
  • Docker Terminology
  • Port Binding
  • Detached vs Foreground Mode
  • Docker CLI
  • Docker Exec
  • Restart Policy

 

Image Management and Registry

  • Dockerfile
  • Dockerfile Instructions
  • Build Context
  • Docker Image
  • Docker Registry

 

Storage in Docker

  • Docker Storage
  • Types of Persistent Storage
  • Volumes
  • Bind Mounts
  • tmpfs Mount
  • Storage Drivers
  • Device Mapper
  • Docker Clean Up

 

Orchestration in Docker

  • Docker Compose
  • Docker Swarm
  • Docker Service
  • Service Placement
  • Rolling Update and Rollback
  • Docker Stack

 

Networking and Security

  • Docker Networking
  • Network Drivers
  • Bridge Network
  • Overlay Network
  • Host and Macvlan
  • Docker Security
  • Docker Content Trust
  • Securing the Docker Daemon

 

Ansible:

انسیبل به عنوان یک نرم افزار متن باز وinfrastructure as code  ، برای خودکارسازی مدیریت پیکربندی ، استقرار برنامه های کاربردی و دیگر نیازهای مرتبط با IT مورد استفاده قرار می گیرد.

انسیبل از طریق مدل کردن زیرساخت IT و تعریف مدل ها در قالب فرمتهای کدنویسی (YAML) ، امکان خودکارسازی (automation) اجزای مختلف IT از جمله پیاده سازی زیرساخت مراکز داده ، نصب و راه اندازی و مدیریت پیکربندی عناصر مختلف نرم افزاری آن را فراهم می سازد.

اجرای انسیبل مبتنی بر پایتون و سرویس ssh می باشد.با توجه به نصب پیشفرض این دو نرم افزار در سیستم های لینوکسی ، برای مدیریت این سیستم ها نیازی به نصب agent نمی باشد.

با توجه به امکان اتصال همزمان هاست انسیبل به سیستم های هدف از طریق سرویس ssh ،سرعت استقرار و اعمال تغییرات قابل قیاس با روش های قدیمی نیست.

به عنوان مثال با استفاده از انسیبل می توان به صورت خوکار و همزمان بر روی تعداد زیادی سرور مستقر در مرکز داده  ،سرویس وب را نصب و پیکربندی نمود.در صورتی که در روشهای قدیمی مدیر سیستم ،  مجبور به نصب دستی و سریالی سرویس مورد نظر بر روی  هر کدام از سرورها بود.

Ansible Fundamentals Syllabus

Estimated Time : 24 H                                                    

Introduction to Ansible

Inventorizing your Infrastructure

Building Patterns

Ad Hoc Server Management

Playbooks – the real magic

Roles for Modularizing Code

Variables and Templates

Advanced Playbook Topics

Modules

Jinja Templates

Ansible Vault

Extending Ansible

Vagrant and Ansible

Ansible Cloud Integration

Continuous Delivery and Rolling Updates

Troubleshooting and Best Practices

 

Kubernetes

کوبرنتیز ، یک سیستم متن باز برای خودکارسازی مدیریت برنامه های مبتنی بر داکر می باشد.در ابتدا توسط گوگل طراحی شد و در حال حاضر توسط موسسه Cloud Native Computing Foundation توسعه و مدیریت می گردد.

کوبرنتیز با انواع ابزارهای مبتنی بر کانتینر مانند داکر سازگار می باشد و قابلیت اجرا  و مدیریت خودکار کانتینرها در بستر کلاستر را فراهم می سازد.

از جمله مزایای کلاستر می توان به ایجاد تحمل خطا(fault-tolerance) ، قابلیت دسترس پذیری بالا(high availability) و توازن بار(load balancing) اشاره نمود.

البته نرم افزار داکر از طریق امکان داخلی به نام Docker Swarm ، قابلیت ایجاد کلاستر  و مدیریت خودکار کانتینرها را دارد ولی قابل قیاس با کوبرنتیز نمی باشد.

علاوه بر کاربردهای داخل سازمانی، فراهم کننده های سرویس ابری از پلتفرم کوبرنتیز برای ارائه سرویس هایی مانند PaaS و IaaS استفاده می نمایند.

 

 

Certified Kubernetes Administrator (CKA)  Syllabus

Estimated Time : 24 H

Kubernetes Core Concepts and Networking

  • Kubernetes Core Concepts
  • Kubectl common commands
  • Understanding Pods
  • Configure network on cluster nodes
  • Pod Networking Concepts
  • Setting up a cluster – Kubernetes Certificates

Kubernetes Services and Scheduling

  • Services and Controllers
  • Service Networking
  • Deploy and configure network Load Balancer
  • Primitives necessary for self-healing apps
  • Effects of resource limiting on pod scheduling
  • Configure Kubernetes Scheduler
  • Running multiple Schedulers

Kubernetes Controllers

  • ReplicaSet and ReplicationController
  • DaemonSets
  • Deployments
  • Rolling updates and Rollbacks
  • Scaling applications
  • Ingress

Persistent Storage in Kubernetes

  • PersistentVolume and PersistentVolumeClaim
  • Access modes for volumes
  • Primitives for PersistentVolumeClaim
  • Secrets and ConfigMaps in your pods
  • Storage classes
  • Headless services
  • StatefulSets

Securing the Cluster

  • Authentication
  • Authorization
  • Kubernetes security primitives
  • Configure Network Policies
  • Security Contexts

Logging and Monitoring the Cluster

  • Monitoring the cluster using Prometheus
  • Visualizing cluster logs using EFK stack
  • Jobs
  • ETCD operations
  • Helm Charts

Troubleshooting the Cluster

  • Troubleshooting application failures
  • Troubleshooting cluster failures

فرم ثبت نام دوره Devops

 

مدت دوره :

۲۴ ساعت

پیشنیاز :

+network

بیشتر بخوانید