Комментарии 11
Какие-то отрывочные факты, которые скоро забудутся. Сделайте лучше текстовую расшифровку курса по k8s, который был совместно с mail.ru. Ну или разберите каждый продукт в CNCF landscape.
Как легко пройти собеседование по Kubernetes в 2023 году - изучить все материалы по программе экзамена CERTIFIED KUBERNETES ADMINISTRATOR (CKA).
Я сам сейчас подробно изучаю Kubernetes, чтобы найти работу и там столько нюансов, что без подробного изучения каждого элемента с практическим решением различных задач не изучить Kubernetes.
И найти работу DevOps зная только Kubernetes невозможно. Мой горький опыт. Нужно еще знать Linux, Ansible, Docker, Gitlab, Jenkins, PostgreSQL, bash, git, Nginx, Prometheus, Grafana, и желательно Python. И все это на достаточно хорошем уровне. Вот тогда можно пройти собеседование.
я бы сказал скорее так:
обязательные - Linux(выше среднего + понимание сетей), Ansible(средний уровень + уметь читать и редактировать плейбуки), Docker, bash(средний уровень), git(начальный уровень), Nginx(начальный уровень), prometheus+grafana_alert_manager(начальный уровень + понимание работы prometheus operator)
дальше по формату работы - если ищем большую компанию - Jenkins, если бюрократия больших компаний претит - Gitlab
всегда удивляло требование знания БД... БД можно столько оптимизировать что для этого есть отдельная специальность - database administrator. а все остальное в виде установки(настройки pghab_conf в том числе) и кластера(к примеру coronasync, pacemaker) можно по гайду конечно изучить, но зачем?
Python вообще ни разу не пригодился за 4 года работы непосредственно devops...
Ну и на затравку список вопросов которые задавал на позицию ученика(junior). В формате быстрых вопросов-ответов, без углубления в тему:
Общие:
Что делает системный администратор?
Что делает devops?
Что такое GNU
Что такое линукс
Linux:
чем отличается Unix и Linux
как происходит загрузка ОС что такое grub
что такое initd стадии initd
чем отличается пространство ядра и пространство пользователя?
демон systemd, команды systemctl, как создать сервис, как посмотреть журнал сервиса, что такое journalctl, как провести дебаг сервиса
компоненты процесса что такое PID, PPID, UID, GID и как их получить
команды top, htop что такое load average %Cpu(s): 7.3 us, 5.5 sy, 0.0 ni, 87.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st приоритет процесса, каким бывает, как установить, как узнать, oomkiller
файловая система как устроена файловая система, что такое inode, стандартные дирректории linux: /bin /boot /dev /etc /home /lib /opt /proc /root /tmp /usr /var, что такое df и ncdu
ACL как назначить права ,как сменить владельца, что такое cgroups
что такое rpm и yum, как посмотреть список установленных пакетов, как найти доступные пакеты в репозиториях, как установить репозиторий
GNU-Utils какими пользовались за последний год sed, awk, xargs, ls, find(и чем отличается от ls), grep, rm, move, tail, head, env, tee, curl, wget, tree
TCP/IP, уровни модели osi, что такое ip адрес, что такое маска сети, чем отличается TCP от UDP, netfilter и его компоненты, iptables и conntrack, что такое порт и сколько их может быть, команды ping, traceroute, tcpdump, netstat, nmap, telnet, netcat, что такое DNS? что такое nslookup
Docker
Что такое Dockerfile
что такое docker build
Расскажите о CMD и ENTRYPOINT в Dockerfile, чем отличаются
для чего используется multi-stage в Dockerfile
Что такое контейнер Docker
Назовите наиболее важные команды Docker
Что такое пространства имен в Docker
Как определить состояние контейнера Docker
Опишите функции и случаи применения Docker
Какие сети доступны по умолчанию в Docker
Приведите необходимые шаги для развертывания докеризированного приложения, сохраненного в репозитории Git
Если вы остановите контейнер — потеряете данные?
Как выполняется мониторинг Docker в производственных окружениях
Расскажите о ключевом различии между виртуализацией и контейнеризацией
Где хранятся тома Docker
Kubernetes
Что такое Kubernetes?
Расскажите об основных компонентах kubernetes
Чем полезна оркестровка контейнеров?
Как связаны Kubernetes и Docker?
Что такое node в Kubernetes?
Что такое pod в Kubernetes?
Что такое Kubernetes deployment?
Опишите набор действий необходимых для запуска deployment?
Объясните разницу между pod и deployment
Что такое service?
что такое namespace
что такое controller-manager
какие типы controller-manager вы знаете?(endpoints controller, service accounts controller, namespace controller, node controller, token controller, and replication controller)
для чего etcd в kubernetes?
что такое clusterIP?
что такое NodePort?
что такое kubelet?
что такое kube-proxy?
Спасибо. На некоторые вопросы я не знаю ответы. Буду готовиться.
рекомендую Unix_и_Linux_Руководство_системного_администратора_5_e_издание_2020 - первые три главы. эксплуатация активно развивается и четвертая глава уже не так актуальна, а вот часть где рассказывают про linux все еще более-менее актуально т.к. его основы не меняются каждый год.
так же, для новичков в k8s, тот же открытый курс от Слёрм:
https://www.youtube.com/playlist?list=PL8D2P0ruohOA4Y9LQoTttfSgsRwUGWpu6
А есть требования для миддла и сеньора?
для мидла не описывал, но все то же самое с дополнительными вопросами вглубь и уточнениями завязанными на опыте. к примеру на вопрос "чем отличается tcp от udp" будет мало ответить "гарантией доставки" - необходимо так же упомянуть что tcp создает сессию.
а сеньоров нанимать не приходилось - сам еще не дорос до сеньора =)
Насколько важны вопросы по Linux?
Никто их не спрашивает если позиция - DevOps - из моего опыта.
Спрашивают про архитектуры распределенных приложений, про обервабилити, про то как делать CI/CD. Всяческий скейлинг и миграции тоже народ интересует.
А вот все эти initd, sed и OSI ни разу не пригодились за последнее время, аж обидно.
Картинки NodePort и LoadBalancer нужно поменять местами
Как легко пройти собеседование по Kubernetes в 2023 году?