#вопросы_с_собеседований
Что такое inode в Linux?
Индексный дескриптор в файловой системе, который хранит метаданные о файлах, за исключением имени файла. В дескрипторе хранится: длина файла в байтах, id устройства с файлом, id пользователя владельца файла, id группы файла, режим файла (права доступа), timestamp последнего изменения файла, счётчик хардлинков, указатели на блоки файла.
Что такое inode в Linux?
Индексный дескриптор в файловой системе, который хранит метаданные о файлах, за исключением имени файла. В дескрипторе хранится: длина файла в байтах, id устройства с файлом, id пользователя владельца файла, id группы файла, режим файла (права доступа), timestamp последнего изменения файла, счётчик хардлинков, указатели на блоки файла.
🔥21❤1
#вопросы_с_собеседований
Напишите политику для AWS S3 бакета, которая разрешает доступ только с определенных IP адресов.
Напишите политику для AWS S3 бакета, которая разрешает доступ только с определенных IP адресов.
{
"Id": "AllowFromSourceIP",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SourceIP",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::demo-bucket",
"arn:aws:s3:::demo-bucket/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"11.11.11.11/32",
"22.22.22.22/32"
]
}
},
"Principal": "*"
}
]
}
👎7👍3
#вопросы_с_собеседований
Объясните паттерны IaaS/PaaS/SaaS на примере пиццы.
На картинках варианты ответов.
Объясните паттерны IaaS/PaaS/SaaS на примере пиццы.
На картинках варианты ответов.
👍13👎1
Исправьте неправильно написанный Dockerfile
Есть условное Node.js приложение, и неправильно написанный Dockerfile, который не будет кэшироваться и будет занимать много места. Нужно переписать его в соответствии с best practices.
Вариант решения:
Есть условное Node.js приложение, и неправильно написанный Dockerfile, который не будет кэшироваться и будет занимать много места. Нужно переписать его в соответствии с best practices.
#плохой файл
FROM ubuntu:18.04
COPY ./src /app
RUN apt-get update -y
RUN apt-get install -y nodejs
RUN npm install
ENTRYPOINT ["npm"]
CMD ["run", "prod"]
Вариант решения:
FROM node:14.15.4-buster as BUILDER
COPY ./src /build
RUN npm install
FROM node:14.15.4-alpine3.12
WORKDIR /app
COPY --from=BUILDER /build/out /app
CMD ["server.js"]
🔥16👎5🤔5👍1
#вопросы_с_собеседований
Приведите основные типы DNS записей и расскажите, для чего они используются.
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
Приведите основные типы DNS записей и расскажите, для чего они используются.
A — запись соответствия с IPv4 адресом;
AAAA — запись соответствия с IPv6 адресом;
CNAME — запись соответствия другому доменному имени;
MX — адресная запись, указывающая на почтовый сервер домена;
NS — адресная запись указывающая на DNS-резолверы, отвечающие за данный домен;
TXT — произвольная текстовая запись в домене, часто используется для верификации принадлежности домена.
👍29👎1
Что такое POSIX?
Набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка Cи и набор приложений и их интерфейсов. Создан для совместимости различных Unix-подобных дистрибутивов.
Набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка Cи и набор приложений и их интерфейсов. Создан для совместимости различных Unix-подобных дистрибутивов.
👍10👎1
Сетевое взаимодействие в Kubernetes
С помощью чего можно ограничить в Kubernetes сетевое взаимодействие между подами? Приведите пример. Надо ли отдельно включать данный механизм?
Ответ:
С помощью Network Policy. В зависимости от сетевого плагина, но по большей части сетевые политики всегда выключены по умолчанию, так что надо.
С помощью чего можно ограничить в Kubernetes сетевое взаимодействие между подами? Приведите пример. Надо ли отдельно включать данный механизм?
Ответ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: demo-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.16.0.0/16
except:
- 172.16.1.0/24
- namespaceSelector:
matchLabels:
project: demo
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 8080
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5432
👍11👏2
Стратегии деплоймента
Сделайте реализацию blue/green стратегии деплоймента для Kubernetes на основе деплойментов, сервиса и ingress’а и опишите как переключать версии.
Сделайте реализацию blue/green стратегии деплоймента для Kubernetes на основе деплойментов, сервиса и ingress’а и опишите как переключать версии.
### Конфигурация ingress'а
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: / spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80
### Сервис
apiVersion: v1
kind: Service
metadata:
name: app-service
spec:
selector:
app: app
color: blue
ports:
- protocol: TCP
port: 80
targetPort: 8080
### Деплоймент синей версии
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
labels:
app: app
color: blue
spec:
replicas: 1
selector:
matchLabels:
app: app
color: blue
template:
metadata:
labels:
app: app
color: blue
spec:
containers:
- name: app
image: docker.registry.io/app:1.0.0
ports:
- containerPort: 8080
### Деплоймент зелёной версии
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-green
labels:
app: app
color: green
spec:
replicas: 1
selector:
matchLabels:
app: app
color: green
template:
metadata:
labels:
app: app
color: green
spec:
containers:
- name: app
image: docker.registry.io/app:1.0.0
ports:
- containerPort: 8080
### Переключение версий осуществляется путём изменения селекторов в сервисе
👍24
Аргумент о том, что devops (или, по крайней мере, некоторые подходы к улучшению сотрудничества между операторами и разработчиками) потерпел неудачу.
https://leebriggs.co.uk/blog/2022/06/21/devops-is-a-failure
https://leebriggs.co.uk/blog/2022/06/21/devops-is-a-failure
lbr.
DevOps is a failure | lbr.
It’s probably difficult for most people to recall the first time they heard a word, but I remember hearing the word “DevOps” for the first time. I was having a
🤔5🤬2👍1
#вопросы_с_собеседований
Что такое CI/CD в двух словах?
Свод практик, направленный на автоматизацию тестирования и доставки новых компонент проекта заинтересованным сторонам (разработчики, аналитики, инженеры качества, конечные пользователи и др.).
Что такое CI/CD в двух словах?
Свод практик, направленный на автоматизацию тестирования и доставки новых компонент проекта заинтересованным сторонам (разработчики, аналитики, инженеры качества, конечные пользователи и др.).
👍15
Напоминание и введение в заблуждения распределенных системах, которые становятся все более важными в популярных современных архитектурах.
https://proglib.io/w/8fffba25
https://proglib.io/w/8fffba25
Architecture Notes
Fallacies of Distributed Systems
Fallacies of distributed systems are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
Библиотека девопса | DevOps, SRE, Sysadmin pinned Deleted message
Ультимативный гайд по собеседованию DevOps-инженеров — что спрашивать и к чему готовиться.
https://habr.com/ru/company/rebrainme/blog/527782/
https://habr.com/ru/company/rebrainme/blog/527782/
Хабр
Ультимативный гайд по собеседованию DevOps-инженеров — что спрашивать и к чему готовиться
Я начал заниматься сетями еще в школе, а работаю за деньги больше 16 лет. Я много куда устраивался, в большие компании и маленькие, потом открыл свой бизнес и регулярно сам нанимаю людей. С годами и...
👍8😁1
Хорошее введение в ebpf с краткими примерами, помогающими понять, как он работает для захвата трафика.
https://www.seekret.io/blog/a-practical-guide-to-capturing-production-traffic-with-ebpf/
https://www.seekret.io/blog/a-practical-guide-to-capturing-production-traffic-with-ebpf/
Datadog
A practical guide to capturing production traffic with eBPF | Datadog
Learn how to use eBPF to create an HTTP protocol tracer.
👍2
Пост с информацией, собранной из публично открытых кластеров Kubernetes, и несколько советов по лучшей защите кластеров.
https://raesene.github.io/blog/2022/07/03/lets-talk-about-kubernetes-on-the-internet/
https://raesene.github.io/blog/2022/07/03/lets-talk-about-kubernetes-on-the-internet/
raesene.github.io
Let's talk about Kubernetes on the Internet
Что нужно знать специалистам, работающим с Kubernetes.
https://habr.com/ru/company/southbridge/blog/676256/
https://habr.com/ru/company/southbridge/blog/676256/
Хабр
Что нужно знать специалистам, работающим с Kubernetes
Что нужно знать для продвинутой работы с Kubernetes Привет, Хабр! Мы в Слёрме помогаем IT-специалистам повысить квалификацию и использовать IT-инструменты более эффективно. Три года назад мы...
🔥4