لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش کوبرنتیز (Kubernetes)
- آخرین آپدیت
دانلود Kubernetes
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
در این دوره به بررسی معماری کوبرنتیز میپردازیم و نقش Control Plane، نودها (Nodes)، Kubelet، Kube-proxy و etcd را درک میکنیم. خوشههای محلی را با Kind ایجاد کرده، ابزارهایی مانند kubectl و Lens را پیکربندی میکنیم و مدیریت Podها، Namespaceها، ReplicaSetها و Deploymentها را تمرین خواهیم کرد.
همچنین استقرار کامل اپلیکیشنها را اجرا میکنیم، مقیاسپذیری خودکار پادها را با HPA فعال میکنیم، سرویسها را با Probeهای سلامت مانیتور و بازیابی میکنیم و با پیکربندی Volumeها و StorageClass، تداوم دادهها را تضمین میکنیم. شما به صورت عملی یاد میگیرید که چگونه اپلیکیشنهایی ساختاریافته برای محیطهای پویا و با دسترسی بالا (High Availability) در کوبرنتیز ایجاد کنید.
سرفصل ها و درس ها
مبانی کوبرنتیز
Fundamentos do Kubernetes
کوبرنتیز چیست؟
O Que É Kubernetes
زمینه اولیه و بیان مسئله
Contexto inicial e problema
طرح کلی مسئله
Esboço do problema
اجزای اصلی
Principais componentes
نحوه اجرای یک کلاستر کوبرنتیز
Como executar um Cluster Kubernetes
پیکربندی محیط
Configurando Ambiente
پیکربندی و ایجاد اولین کلاستر ما
Configurando e criando nosso primeiro Cluster
پیکربندی کلاستر با چندین نود
Configurando Cluster com múltiplos nós
بالا آوردن اولین کانتینر در K8S
Subindo o nosso primeiro Container no K8S
ارزش مانیفستهای Declarative و Namespaceها
Valor dos manifestos declarativos e namespaces
دسترسی به کانتینر داخل کلاستر
Acessando container dentro do cluster
مشکلات و گامهای بعدی
Problemas e próximos passos
ایجاد یک ReplicaSet
Criando um ReplicaSet
مشکلات ReplicaSet
Problemas de um ReplicaSet
ایجاد یک Deployment
Criando um Deployment
دسترسی به Podها
Acessando Pods
کانتینری سازی اپلیکیشن ما
Conteinerizando a nossa aplicação
ایجاد اشیاء کوبرنتیز
Criando os Objetos do Kubernetes
ایجاد Service و بررسی imagePullPolicy
Criando Service e explorando imagePullPolicy
درک مشکلات تگ Latest
Entendendo Problemas da Tag Latest
ایجاد تگ جدید و کنترل Rollback اپلیکیشن
Criando Nova Tag e Controlando Rollback da Aplicação
کار با استراتژیهای استقرار (Deploy)
Trabalhando Com Estratégias De Deploy
درک استراتژی Recreate
Entendendo o Recreate
بررسی متغیرهای محیطی در اپلیکیشن
Explorando Variável de Ambiente na Aplicação
درک مفهوم ConfigMap
Entendendo sobre o ConfigMap
بررسی شیء Secret
Explorando o objeto Secret
بهبود مدیریت متغیرهای محیطی (Envs)
Melhorando Gerenciamento de Envs
مقیاسپذیری (Scale) چیست؟
O que é Escala
آشنایی با مقیاسپذیری عمودی
Conhecendo a escala vertical
بررسی مقیاسپذیری افقی
Explorando a escala horizontal
نحوه عملکرد Metrics Server
Como o Metrics-Server funciona
افزودن Metrics Server به کلاستر ما
Adicionando o Metrics-Server no nosso Cluster
درک تریگرهای اصلی (Triggers)
Entendendo os Principais Triggers
بررسی نسخه V1 از HPA
Explorando a V1 do HPA
ایجاد HPA با استفاده از V2
Criando o HPA Utilizando a V2
تست فشار (Stress) روی اپلیکیشن ما
Estressando a Nossa Aplicação
بررسی سناریوهای بیشتر تست فشار
Explorando mais cenários de estresse
تغییر منابع و تعداد نسخههای (Replicas) اپلیکیشن
Alterando Recursos e Réplicas da Aplicação
تعیین زمان واکنش برای مقیاسبندی تعداد نسخهها
Definindo tempo de reação para escalonar a quantidade de réplicas
Probeها و Self Healing چیستند؟
O que são Probes e Self Healing
پیکربندی مسیرها (Routes) در اپلیکیشن
Configurando Rotas na Aplicação
Startup Probe
Startup
Readiness Probe
Readiness
Liveness Probe
Liveness
بازنویسی اپلیکیشن و درک بیشتر درباره Command
Refatorando a Aplicação e Entendendo Mais Sobre o Command
تضمین آمادگی اپلیکیشن
Garantindo prontidão da aplicação
جایگزینها در لایه اپلیکیشن
Alternativas na camada da aplicação
Volumeها و StorageClass
Volumes e StorageClass
PersistentVolume
PersistentVolume
PersistentVolumeClaim
PersistentVolumeClaim
ایجاد StorageClass
Criando o StorageClass
رزرو فضای ذخیرهسازی با PV
Reservando o espaço com o PV
ایجاد PVC
Criando o PVC
متصل کردن PVC به اپلیکیشن ما
Associando o PVC na nossa aplicação
خلاصهای درباره Volumeها
Resumo sobre volumes
عملیات، حاکمیت و توپولوژیها
Operação, Governança e Topologias
آشنایی با ارائهدهندگان اصلی ابری (Cloud Providers)
Conhecendo os Principais Provedores de Cloud
مدل قیمتگذاری
Modelo de Precificação
ایجاد کلاستر ما در DigitalOcean
Criando Nosso Cluster na DigitalOcean
پیکربندی اشاره محلی (Local Pointing)
Configurando o Apontamento Local
اجرای اولین اپلیکیشن ما
Colocando Nossa Primeira Aplicação em Execução
تنظیم Build اپلیکیشن
Ajustando Build da Aplicação
معرفی اپلیکیشن در اینترنت
Expondo Aplicação na Internet
دیباگ کردن متریکهای کلاستر
Debugando Métricas do Cluster
اولین پیکربندیها در ایجاد کلاستر EKS
Primeiras Configurações na Criação do Cluster EKS
درک بیشتر درباره VPC
Entendendo Mais Sobre VPC
ایجاد Subnetها
Criando Subnets
اتمام ایجاد کلاستر EKS
Finalizando a Criação do Cluster EKS
ایجاد NodeGroup
Criando NodeGroup
اجرای اپلیکیشن ما در EKS
Rodando a Nossa Aplicação no EKS
حذف منابع
Deletando Recursos
اعمال Terraform در ساختار AWS ما
Aplicando TF na Nossa Estrutura na AWS
مرور ساختار
Revisando Estrutura
زمینه اولیه
Contexto Inicial
ایجاد اولین کاربر ما
Criando Nosso Primeiro Usuário
نگاشت حساب در ConfigMap
Mapeamento de Conta no ConfigMap
ایجاد Roleها
Criando as Roles
تست دسترسی
Testando o Acesso
ایجاد اولین Cluster Role ما
Criando Nossa Primeira Cluster Role
پیکربندی مجوزها در سطح گروه
Configurando Permissão a Nível de Grupo
تغییر حالت دسترسی به کلاستر
Alterando Modo de Acesso ao Cluster
بررسی حالت دسترسی از طریق EKS API
Explorando o Modo de Acesso via EKS API
جمعبندی RBAC و تستهای نهایی
Fechando RBAC e Últimos Testes
ایجاد یک Service Account
Criando uma Service Account
آشنایی با مفهوم اپلیکیشنهای Stateful (دارای وضعیت)
Conhecendo o Conceito de Aplicações com Estado
بررسی برخی چالشها
Explorando Algumas Problemáticas
ایجاد اولین StatefulSet ما
Criando Nosso Primeiro StatefulSet
پیکربندی Volumeها
Configurando os Volumes
پیکربندی CSI و Pod Identity
Configurando o CSI e Pod Identity
اولین تست End-to-End
Primeiro Teste de Ponta a Ponta
بررسی سناریوی بدون Volume
Explorando Cenário Sem Volume
شروع پیکربندی PostgreSQL
Iniciando Configuração do PostgreSQL
ایجاد یک سرویس Headless
Criando um Serviço Headless
تعامل با پایگاه داده ما
Interagindo Com O Nosso Banco De Dados
اصلاح برخی پیکربندیها
Corrigindo Algumas Configurações
آشنایی با مفهوم Operator
Conhecendo o Conceito de Operator
بررسی اپراتورهای PostgreSQL
Explorando Operadores de PostgreSQL
ساختاربندی اولین YAML ما با Operator
Estruturando Nosso Primeiro YAML Com Operator
تست کلاستر ما
Testando Nosso Cluster
بررسی مفهوم Backup
Explorando o Conceito de Backup
چیست و چگونه کار میکند؟
O que é e como funciona?
ایجاد اولین DaemonSet ما
Criando Nosso Primeiro DaemonSet
پیکربندیهای نهایی و اختتام
Últimas Configurações e Encerramento
مرور GitHub Actions
Relembrando o GitHub Actions
ایجاد ساختار اولیه
Criando a estrutura inicial
Build کردن ایمیج ما
Buildando a Nossa Imagem
Push کردن و پیکربندی متغیرها
Fazendo o Push e Configurando Variáveis
پیکربندی Role ما در AWS
Configurando a Nossa Role na AWS
دیباگ مشکل در مجوزها
Debugando um Problema no Permissionamento
بهروزرسانی Kubeconfig از طریق Pipe
Atualizando Kubeconfig Via Pipe
استقرار خودکار اپلیکیشن ما
Deployando Nossa Aplicação de Maneira Automatizada
تستهای نهایی و توسعهها
Últimos Testes e Evoluções
تعمیق در مقیاسپذیری
Aprofundando em Escalabilidade
چه مشکلی را میخواهیم حل کنیم؟
Qual é o Problema Que Queremos Resolver
تست فشار روی اپلیکیشنها
Estressando Aplicações
EKS Nodegroup
EKS Nodegroup
بررسی برخی سناریوهای NodeGroup
Explorando Alguns Cenários do NodeGroup
شروع پیکربندی Cluster Autoscaler
Iniciando a Configuração do Cluster Autoscaler
پیکربندی Policy
Configurando Política
پیکربندی Role
Configurando Role
مقیاسبندی کلاستر ما
Escalando o Nosso Cluster
کاهش مقیاس کلاستر
Cluster Sendo Desescalado
مقدمهای بر Karpenter
Introdução ao Karpenter
ایجاد اولین Roleها در IAM
Criando as Primeiras Roles no IAM
اتمام پیکربندیهای دسترسی
Finalizando Configurações de Acesso
نصب Karpenter از طریق Helm
Instalando o Karpenter via Helm
ایجاد NodeClass
Criando a NodeClass
اعمال NodePool و انجام تستهای اولیه
Aplicando o NodePool e Realizando Primeiros Testes
بررسی Topology Spread و Affinity
Explorando Topology Spread e Afinidade
آشنایی با مفهوم Pod Anti Affinity
Conhecendo o Conceito de Pod Anti-Affinity
اتمام تستها و گامهای بعدی
Finalizando Testes e Próximos Passos
آشنایی با مفهوم Spot
Conhecendo o conceito de Spot
تغییر NodePool ما
Alterando o nosso NodePool
شروع پیکربندیهای SQS
Iniciando as configurações do SQS
تنظیم Karpenter برای واکنش به رویدادها
Ajustando Karpenter para reação de eventos
تست ساختار
Testando estrutura
Terraform کردن ساختار
Terrraformando estrutura
بازنویسی ماژول
Refatorando módulo
تستهای نهایی
Testes finais
اصلاح مشکل در Security Group
Corrigindo problema no security group
آشنایی با مفهوم Policyها
Conhecendo o conceito de políticas
بررسی NetworkPolicy
Explorando o NetworkPolicy
تغییر برخی پیکربندیها در CNI
Mudando algumas configurações na CNI
اصلاحات و تستهای نهایی دسترسی
Correções e testes finais de acesso
ضمیمهای درباره قوانین شبکه در کل Namespace
Adendo sobre regra de rede em todo o namespace
اعمال سیاستهای امنیتی
Aplicando políticas de segurança
تغییر پیکربندیهای Deployment
Mudando configurações do Deployment
بررسی Resource Quota
Explorando Resource Quota
تست اثربخشی سهمیهها به ازای هر Namespace
Testando efetivade das cotas por namespace
ایجاد اولین LimitRange ما
Criando o nosso primeiro LimitRange
تستهای نهایی و گامهای بعدی
Testes finais e próximos passos
توسعه در زمینه Policyها
Evoluindo no contexto de políticas
آشنایی با Kyverno
Conhecendo o Kyverno
ایجاد اولین ClusterPolicy ما
Criando a nossa primeira ClusterPolicy
تست ایجاد یک Policy
Testando a criação de uma Policy
بررسی شیء Mutate
Explorando o objeto Mutate
کپی کردن پیکربندیها بین Namespaceها
Copiando configurações entre namespaces
ایجاد سیاستهایی برای مسدود کردن اجرای کانتینرهای Root
Criando políticas para bloquear execução de containers root
بررسی Probeها
Checando probes
تستهای نهایی و جمعبندی
Últimos testes e fechamento
GitOps با ArgoCD و Helm
GitOps com ArgoCD e Helm
مرور مفهوم GitOps
Relembrando o Conceito de GitOps
بررسی GitOps در محیط کوبرنتیز
Explorando GitOps no Contexto do Kubernetes
آشنایی با ArgoCD
Conhecendo o ArgoCD
پیکربندی ArgoCD در کلاستر ما
Configurando o ArgoCD no Nosso Cluster
ایجاد اولین اپلیکیشن ما
Criando a Nossa Primeira Aplicação
اصلاح اشیاء مخزن (Repository)
Corrigindo Objetos do Repositório
تغییر ساختار CI ما
Alterando a Nossa Estrutura de CI
بررسی مفهوم Multi Cluster
Explorando o Conceito Multi Cluster
ایجاد اولین ApplicationSet ما
Criando Nosso Primeiro ApplicationSet
مقیاسبندی پیکربندی GitHub ما
Escalando a Nossa Configuração do GitHub
درک بیشتر درباره پروژهها
Entendendo Mais Sobre os Projetos
چالشهای مانیفستهای کوبرنتیز
Problemática dos Manifestos do Kubernetes
بررسی Helm
Explorando o Helm
ایجاد اولین Chart ما
Criando o Nosso Primeiro Chart
تطبیق ساختار
Adaptando Estrutura
ایجاد ConfigMap
Criando o ConfigMap
ایجاد Secretها
Criando as Secrets
بررسی دستورات کاربردی
Explorando Comandos Úteis
درک بیشتر درباره Package
Entendendo Mais Sobre o Package
ارسال Chart ما به یک Registry
Enviando o Nosso Chart para um Registry
پیکربندیهای نهایی در اپلیکیشن ArgoCD
Ultimas Configuracoes na App do ArgoCD
جزئیات بیشتر درباره Flagهای Helm
Detalhando Mais as Flags do Helm
استراتژیهای پیشرفته استقرار (Deploy)
Estratégias Avançadas de Deploy
مرور ساختار کوبرنتیز
Relembrando a Estrutura do Kubernetes
آشنایی با استراتژیهای پیشرفته استقرار (Deploy)
Conhecendo Estratégias Avançadas de Deploy
پیکربندی استراتژی Blue-Green
Configurando a Estratégia Blue-Green
بررسی Canary Deployment
Explorando o Canary Deployment
عمومیتر کردن ساختار
Deixando a Estrutura Mais Genérica
یکپارچهسازی با ArgoCD
Integrando com o ArgoCD
معرفی و مدیریت ترافیک
Exposição e Gerenciamento de Tráfego
درک مشکل و هدف این ماژول
Entendendo o Problema e Objetivo do Módulo
ایجاد اولین Load Balancer ما
Criando o Nosso Primeiro Load Balancer
پیکربندی External DNS
Configurando o External DNS
آشنایی با Cert Manager
Conhecendo o Cert-Manager
ایجاد اولین گواهینامه (Certificate) ما
Criando o Nosso Primeiro Certificado
درک بیشتر درباره Ingress
Entendendo Mais Sobre o Ingress
ایجاد اولین Ingress ما
Criando Nosso Primeiro Ingress
تست جریان End-to-End
Testando o Fluxo de Ponta a Ponta
ساختاربندی برای ایجاد Ingress دیگر
Estruturando a Criação de Outro Ingress
پیکربندی سرویسی از نوع ExternalName
Configurando um Service do Tipo ExternalName
بررسی احتمالات Path Type
Explorando as Possibilidades de Path Type
آشنایی با Gateway API
Conhecendo o Gateway API
ایجاد اولین مانیفستهای ما
Criando os Nossos Primeiros Manifestos
پیکربندی Envoy و GatewayClass
Configurando o Envoy e GatewayClass
تنظیم External DNS
Ajustando o External DNS
پیکربندی مجدد Cert Manager
Reconfigurando o Cert-Manager
افزودن Redirect و تست Path Type
Adicionando o Redirect e Testando o Path Type
تست فشار اپلیکیشنها و مشاهدهپذیری (Observability)
Estressando as aplicações e Observabilidade
مروری بر آنچه دیدیم و گامهای بعدی
Overview sobre o que vimos e próximos passos
مهندسی آشوب (Chaos Engineering) چیست؟
O que é engenharia do Caos
منشأ این روش چیست؟
De onde surgiu essa prática
نصب Chaos Mesh
Instalando o Chaos Mesh
آشنایی با داشبورد Chaos
Conhecendo o Chaos dashboard
اجرای اولین سناریوی ما
Rodando o nosso primeiro cenário
زمانبندی سناریوهای ما
Agendando os nossos cenários
ایجاد Workflowها
Criando os Workflows
مروری بر سایر انواع تستها
Overview sobre os outros tipos de testes
مروری بر Terraform
Overview do Terraform
مروری بر Helm
Overview sobre o Helm
بررسی منابع نگاشت نشده ما
Explorando os Nossos Recursos Não Mapeados
Terraform کردن اولین منبع موجود
Terraformando Nosso Primeiro Recurso Já Existente
حذف اطلاعات Hard Coded
Removendo as Informações Hard Coded
ایجاد Policyها
Criando as Políticas
گامهای بعدی
Próximos Passos
درک مشکل
Entendendo o Problema
قالببندی (Templatizing) هر فایل YAML
Templatizando um YAML Qualquer
ایجاد مخزن مرکزی Chart
Criando o Repo Central do Chart
اتمام پیکربندی پروژه
Finalizando a Config do Projeto
تست استقرار از طریق API
Testando o Deploy via API
بررسی برخی مشکلات در ساختار
Explorando Alguns Problemas Na Estrutura
طراحی معماری جدید
Desenhando a Nova Arquitetura
ایجاد مخازن پشتیبان
Criando os repositórios de apoio
ساختاربندی ApplicationSet
Estruturando o ApplicationSet
انجام تستهای اولیه
Realizando os Primeiros Testes
اتمام پیکربندی در سمت ArgoCD
Finalizando a Configuração do Lado do ArgoCD
نکته مهم درباره تغییر در اشاره مخزن (Repo)
Ponto Importante Sobre Mudança no Apontamento do Repo
مقدمهای بر زمینه CI
Introdução ao Contexto de CI
افزودن کتابخانه Octokit
Adicionando Lib Octokit
انجام اولین تست
Realizando Primeiro Teste
استقرار سرویس deploy
Deployando o serviço de deploy
تغییر خط لوله (Pipeline) در Git Actions
Alterando Nossa Pipeline do Git Actions
تست استقرار از طریق Pipeline
Testando Deploy Via Pipeline
پیکربندی Workflow Dispatch
Configurando o Workflow Dispatch
تست استقرار در محیط Production
Testando o Deploy em Produção
معرفی جریان تایید (Approval) در Pipeline
Introduzindo Fluxo de Aprovação na Pipeline
تنظیم مرحله تایید استقرار از طریق Issue
Ajustando Etapa de Aprovação do Deploy via Issue
افزودن ساختار PR در محیط عملیاتی
Adicionando Estrutura de PR no Contexto Produtivo
تنظیم قرارداد برای انتقال منابع (Resources)
Ajustando Contrato para Passagem dos Resources
جمعبندی و گامهای بعدی
Fechamento e Próximos Passos
درک بیشتر درباره متعادلکنندههای بار (Load Balancers)
Entendendo Mais Sobre Balanceadores de Carga
بررسی مسیر درخواست (Request Path)
Explorando o Caminho da Request
انواع متعادلکنندههای بار
Tipos de Balanceadores de Carga
نمایش نظرات