#kubernetes #kubernetes-pod
#kubernetes #kubernetes-pod
Вопрос:
У меня проблема с Kubernetes на моем локальном компьютере. Я хочу создать модуль с базой данных, поэтому я подготовил файл развертывания с помощью service.
apiVersion: v1
kind: Service
metadata:
name: bid-service-db
labels:
app: bid-service-db
tier: database
spec:
ports:
- name: "5432"
port: 5432
targetPort: 5432
selector:
app: bid-service-db
tier: database
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bid-service-db
labels:
app: bid-service-db
tier: database
spec:
selector:
matchLabels:
app: bid-service-db
strategy:
type: Recreate
template:
metadata:
labels:
app: bid-service-db
tier: database
spec:
containers:
- env:
- name: POSTGRES_DB
value: mydb
- name: POSTGRES_PASSWORD
value: password
- name: POSTGRES_USER
value: postgres
image: postgres:13
imagePullPolicy: Never
name: bid-service-db
ports:
- containerPort: 5432
name: bid-service-db
resources: {}
restartPolicy: Always
serviceAccountName: ""
volumes:
- name: postgres-persistance-storage
persistentVolumeClaim:
claimName: bid-service-db-volume
status: {}
Я применяю этот файл с. k apply -f bid-db-deployment.yaml
k get all
возвращает, что была создана только служба, но модуль не запущен. Что я могу сделать в этом случае? Как устранить это?
Комментарии:
1. Каков результат команды apply? Вы проверили все пространства имен?
kubectl get deployments -A
2. Да, я проверил эту команду, но ничего экстраординарного. Я просто перезапускаю кластер, после этого он начал работать.
Ответ №1:
если вы не получили никаких ошибок при «применении», вы можете получить причину сбоя с помощью:
kubectl describe deployment/DEPLOMENT_NAME
Кроме того, вы можете взять только часть deployment и поместить ее в отдельный файл YAML и посмотреть, не появятся ли ошибки.
Ответ №2:
Поскольку после перезапуска кластера он работал на вас, хорошей идеей в следующий раз должна быть проверка журналов из модулей kube-api и kube-controller с помощью команды:
kubectl logs pn kube-system <kube-api/controller_pod_name>
Чтобы получить список ваших развертываний во всем пространстве имен, вы можете использовать команду:
kubectl get deployments -A