当我运行kos kubectl get storageclass时,我注意到它没有提供,我必须手动添加它。虽然我对确切的程序不太确定。文档说,k0s附带安装了OpenEBS。我不确定的是如何在配置文件中启用这个扩展名。
我现有的配置文件只有这个(我假设这应该是默认的配置文件。是这样吗?):
spec:
api:
externalAddress我运行了k0s stop,然后按照以下方式修改了配置文件:
spec:
api:
externalAddress
extensions:
storage:
type: openebs_local_storage在这个配置更改之后,我仍然得到相同的错误--它们不是为集群找到的存储库。我是否也需要重新安装/安装k0s,这有点不确定,因为与链接中给出的示例相比,现有的k0s.yaml似乎只有很少的配置参数。
编辑:使用文档,我已经开始生成一个使用现有默认设置的新k0s.yaml。原来它覆盖了现有的k0s.yaml (上面给出):我还对新的yaml文件进行了更改,以生成以下内容:
apiVersion: k0s.k0sproject.io/v1beta1
kind: ClusterConfig
metadata:
creationTimestamp: null
name: k0s
spec:
api:
address: 10.XXX.XXX.XXX
k0sApiPort: 9443
port: 6443
sans:
- 10.XX.XX.XXX
- 172.XX.XX.XXX
- 10.XX.XX.XXX
- 10.XX.XX.XXX
- fe80::XXX:XXX:XXX:XXX
- fe80::XXX:XXX:XXX:XXX
- fe80::XXX:XXX:XXX:XXX
- fe80::XXX:XXX:XXX:XXX
- fe80::XXX:XXX:XXX:XXX
- fe80::XXX:XXX:XXX:XXX
tunneledNetworkingMode: false
controllerManager: {}
extensions:
helm:
charts: null
repositories: null
storage:
create_default_storage_class: true
type: openebs_local_storage
images:
calico:
cni:
image: docker.io/calico/cni
version: v3.21.2
kubecontrollers:
image: docker.io/calico/kube-controllers在进行此更改后,我将继续重新安装集群(使用新配置):
k0s install controller -c /etc/k0s/k0s.yaml但我现在发现了一个错误:
Error: failed to install k0s service: failed to install service: Init already exists: /etc/systemd/system/k0scontroller.service发布于 2022-02-15 00:33:30
我能够重现您的问题--为了用OpenEBS存储的新配置重新安装集群,您需要清理先前的设置:
sudo k0s stopsudo k0s reset--enable-worker标志->重新安装,以便重新安装具有控制器和工作函数的单节点k0s:sudo k0s install controller --enable-worker -c /etc/k0s/k0s.yamlsudo k0s startsudo k0s kubectl get storageclass存储类将具有volumeBindingMode: WaitForFirstConsumer --这意味着卷绑定的延迟,直到应用程序pod被安排在节点上。
https://serverfault.com/questions/1091569
复制相似问题