Писал с нуля конфигурации для Kubernetes
Python
Middle
Без компании
Писал с нуля конфигурации для Kubernetes
Ответы
При написании конфигураций для Kubernetes с нуля важно учитывать основные объекты и их параметры. Вот ключевые моменты:
- **Deployment** — для управления подами и их репликами:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 8080
```
- **Service** — для доступа к подам:
```
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
```
- **ConfigMap/Secrets** — для конфигурации и чувствительных данных:
```
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config
data:
config.json: |
{ "env": "production" }
```
**Лучшие практики:**
- Используйте `kubectl apply -f` для развертывания.
- Проверяйте конфиги через `kubectl diff`.
- Храните конфиги в Git с CI/CD.