kubernetes - 使用 Tectonic 启用 Kubernetes 功能门
问题描述
我必须为客户端部署具有构造的 kubernetes 集群,并且我需要启用 kubernetes 功能门,这可能吗?
需要的功能门: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 提供)
解决方案
在 kubernetes 1.10 之后,您无需启用功能门即可在 kubernetes 集群中使用本地存储。
您可以直接使用local-storage
与任何其他存储类相同的内容。
请看我下面的答案,如何local-storage
在 kubernetes 中设置 PV、PVC。
编辑:当你在 kubernetes 1.9 上时,你可以这样做:
您需要在使用kubeadm init --config=config.yaml
toapiserver
和启动集群时提供功能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:
光伏定义:
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
PVC定义:
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
希望这可以帮助
推荐阅读
- linux - 试图运行 sh 脚本并得到 docker-compose not installed 错误?
- c# - 从进程中读取 UDP 连接信息?
- python - 如何在方法链中组合 pandas 索引列?
- c++ - 如何在不同类的构造函数的参数中声明对象?(C++)
- python - 无法识别代码中的错误,我的数据集文件或目录无法打开?
- autohotkey - 如何防止 Alt Up 消息到达 AutoHotkey 中的浏览器窗口
- javascript - 安装时不推荐使用 Npm 安装错误
- python - 开始通话时间和结束通话时间的Python水平图表
- android - ScrollView 在添加边距/填充时会导致滚动,即使内容不需要额外空间
- python - How to solve module problem in Windows 10?