Я пытаюсь создать кластер зажигания на AWS, но столкнулся с некоторыми проблемами.Мои стручки не подходят.Я следил за официальной документацией по зажиганию для развертываний kubernetes с сохранением состояния на AWS EKS, но при создании кластера зажигания я вижу, что создание модуля находится в состоянии зависания.
Я создал два отдельных файла: один для постоянного хранения, другой для хранения в хранилище.[Отдельный диск для WAL]
Я вижу, что хранилища созданы:
➜ ignite-configs kubectl get sc
NAME PROVISIONER AGE
ignite-persistence-storage-class kubernetes.io/aws-ebs 3h
ignite-wal-storage-class kubernetes.io/aws-ebs 3h
➜ ignite-configs kubectl describe pod ignite-0
Name: ignite-0
Namespace: angus-ignite-dev
Priority: 0
PriorityClassName: <none>
Node: <none>
Labels: app=ignite
controller-revision-hash=ignite-76f754f985
statefulset.kubernetes.io/pod-name=ignite-0
Annotations: <none>
Status: Pending
IP:
Controlled By: StatefulSet/ignite
Containers:
ignite:
Image: apacheignite/ignite:2.6.0
Ports: 11211/TCP, 47100/TCP, 47500/TCP, 49112/TCP, 10800/TCP, 8080/TCP, 10900/TCP
Host Ports: 0/TCP, 0/TCP, 0/TCP, 0/TCP, 0/TCP, 0/TCP, 0/TCP
Environment:
OPTION_LIBS: ignite-kubernetes,ignite-rest-http
CONFIG_URI: https://s3.amazonaws.com/009my-bucket009/example-kube-persistence-and-wal.xml
IGNITE_QUIET: false
JVM_OPTS: -Djava.net.preferIPv4Stack=true
Mounts:
/persistence from ignite-persistence (rw)
/var/run/secrets/kubernetes.io/serviceaccount from ignite-token-h6m7b (ro)
/wal from ignite-wal (rw)
Conditions:
Type Status
PodScheduled False
Volumes:
ignite-persistence:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: ignite-persistence-ignite-0
ReadOnly: false
ignite-wal:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: ignite-wal-ignite-0
ReadOnly: false
ignite-token-h6m7b:
Type: Secret (a volume populated by a Secret)
SecretName: ignite-token-h6m7b
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 2m23s (x12033 over 107m) default-scheduler pod has unbound PersistentVolumeClaims (repeated 15 times)
===========================
Here are my ignite config files:
ignite-persistence-storage-class.yaml
=====================================
#Amazon AWS Configuration
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: ignite-persistence-storage-class #StorageClass name
namespace: angus-ignite-dev #Ignite namespace
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2 #Volume type io1, gp2, sc1, st1. Default: gp2
zones: us-west-2
========================================================== Вот мои файлы хранилища yaml для журналов и персистентности:
ignite-wal-storage-class.yaml
#Amazon AWS Configuration
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: ignite-wal-storage-class #StorageClass name
namespace: angus-ignite-dev #Ignite namespace
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2 #Volume type io1, gp2, sc1, st1. Default: gp2
zones: us-west-2
====================================================================== Вот мой файл yaml создания ignite statefulset:
У меня есть некоторые сомнения относительно PV и PVC.Должен ли я их где-то объявлять?
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: ignite
namespace: angus-ignite-dev
spec:
selector:
matchLabels:
app: ignite
serviceName: ignite
replicas: 2
template:
metadata:
labels:
app: ignite
spec:
serviceAccountName: ignite
containers:
- name: ignite
image: apacheignite/ignite:2.6.0
env:
- name: OPTION_LIBS
value: ignite-kubernetes,ignite-rest-http
- name: CONFIG_URI
value: https://s3.amazonaws.com/009my-bucket009/example-kube-persistence-and-wal.xml
- name: IGNITE_QUIET
value: "false"
- name: JVM_OPTS
value: "-Djava.net.preferIPv4Stack=true"
ports:
- containerPort: 11211 # JDBC port number.
- containerPort: 47100 # communication SPI port number.
- containerPort: 47500 # discovery SPI port number.
- containerPort: 49112 # JMX port number.
- containerPort: 10800 # SQL port number.
- containerPort: 8080 # REST port number.
- containerPort: 10900 #Thin clients port number.
volumeMounts:
- mountPath: "/wal"
name: ignite-wal
- mountPath: "/persistence"
name: ignite-persistence
volumeClaimTemplates:
- metadata:
name: ignite-persistence
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "ignite-persistence-storage-class"
resources:
requests:
storage: "100Gi"
- metadata:
name: ignite-wal
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "ignite-wal-storage-class"
resources:
requests:
storage: "100Gi"