Включить Kubernetes особенность ворот с Tectonic
Я должен развернуть кластер kubernetes с tectonic для клиента, и мне нужен включенный шлюз функции kuberenetes, это возможно?
необходимые функции ворот: https://kubernetes.io/blog/2018/04/13/local-persistent-volumes-beta/
необходимо для: https://www.arangodb.com/2018/03/arangodb-operator-kubernetes-stateful-cluster-deployments/
Версия Kubernetes: 1.9.6 (как предусмотрено 1.9.6-tectonic.1)
1 ответ
Вам не нужно включать функциональный шлюз для использования локального хранилища в кластере kubernetes после kubernetes 1.10.
Вы можете напрямую использовать local-storage
как и любой другой класс хранения.
Пожалуйста, посмотрите на мой следующий ответ, как настроить local-storage
ПВ, ПВХ в кубернетес.
РЕДАКТИРОВАТЬ: Поскольку вы находитесь на kubernetes 1.9, вы можете сделать это следующим образом:
Вы должны предоставить функциональные ворота при запуске кластера с помощью kubeadm init --config=config.yaml
в apiserver
, controller-manager
а также scheduler
, Пожалуйста, обратитесь к следующей конфигурации:
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
apiServerExtraArgs:
service-node-port-range: 80-32767
feature-gates: "PersistentLocalVolumes=true,VolumeScheduling=true,MountPropagation=true"
controllerManagerExtraArgs:
feature-gates: "PersistentLocalVolumes=true,VolumeScheduling=true,MountPropagation=true"
schedulerExtraArgs:
feature-gates: "PersistentLocalVolumes=true,VolumeScheduling=true,MountPropagation=true"
Затем вам нужно создать свой собственный класс хранения, так как класс локального хранилища отсутствует. Поэтому создайте свой собственный класс следующим образом:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage-data
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
Теперь вы можете создать свой PV и PVC следующим образом:
Определение PV:
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-mariadb-0
labels:
pod-name: mariadb-0
annotations:
"volume.alpha.kubernetes.io/node-affinity": '{
"requiredDuringSchedulingIgnoredDuringExecution": {
"nodeSelectorTerms": [
{ "matchExpressions": [
{ "key": "kubernetes.io/hostname",
"operator": "In",
"values": ["prod-mysql-0"]
}
]}
]}}'
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage-data
local:
path: /mnt/local-storage/mysql-data-0
Определение ПВХ:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: mariadb
name: mysql-mariadb-0
namespace: mysql
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: local-storage-data
selector:
matchLabels:
pod-name: mariadb-0
Можно ли монтировать разные модули в одну и ту же часть локального постоянного тома?
Надеюсь это поможет