我可以在一个节点上安装OKD,并可以在多个节点上按比例放大。 但是现在我想在一个节点上安装带有GlusterFS的OKD,然后在多个节点上扩展它。 目前,我收到至少需要三个节点的错误。我如何绕过ansible的这项检查?
根据github文档,我有三个选择
选项2或3可以用于从一个节点开始并相应地扩展吗?我已经在一个节点上安装了glusterfs集群,并将其扩展到第二个节点,但是如何在openshift中引入?
答案 0 :(得分:0)
我找到了一种在一个节点上安装glusterfs的方法,使用glusterfs在一次安装中查找所有内容
更改了库存文件,如下所示
[OSEv3:children]
masters
nodes
etcd
glusterfs
[OSEv3:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_user=root
openshift_deployment_type=origin
openshift_enable_origin_repo=false
openshift_disable_check=disk_availability,memory_availability
os_firewall_use_firewalld=true
openshift_public_hostname=console.1.1.0.1.nip.io
openshift_master_default_subdomain=apps.1.1.0.1.nip.io
openshift_storage_glusterfs_is_native=false
openshift_storage_glusterfs_storageclass=true
openshift_storage_glusterfs_heketi_is_native=true
openshift_storage_glusterfs_heketi_executor=ssh
openshift_storage_glusterfs_heketi_ssh_port=22
openshift_storage_glusterfs_heketi_ssh_user=root
openshift_storage_glusterfs_heketi_ssh_sudo=false
openshift_storage_glusterfs_heketi_ssh_keyfile="/root/.ssh/id_rsa
[masters]
1.1.0.1 openshift_ip=1.1.0.1 openshift_schedulable=true
[etcd]
1.1.0.1 openshift_ip=1.1.0.1
[nodes]
1.1.0.1 openshift_ip=1.1.0.1 openshift_node_group_name="node-config-all-in-one" openshift_schedulable=true
[glusterfs]
1.1.0.1 glusterfs_devices='[ "/dev/vdb" ]'
现在我们必须破解ansible脚本,因为它期望通过在跟随ansible脚本的后面添加-无持久性来期望三个节点
openshift-ansible/roles/openshift_storage_glusterfs/tasks/heketi_init_db.yml
以下是更新的代码段
- name: Create heketi DB volume
command: "{{ glusterfs_heketi_client }} setup-openshift-heketi-storage --image {{ glusterfs_heketi_image }} --listfile /tmp/heketi-storage.json --durability none"
register: setup_storage
默认情况下,它会创建需要复制环境的StorageClass,因此我们必须使用“ volumetype:none”创建如下所示的自定义存储类
oc create -f - <<EOT
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: glusterfs-nr-storage
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
parameters:
resturl: http://heketi-storage.glusterfs.svc:8080
restuser: admin
secretName: heketi-storage-admin-secret
secretNamespace: glusterfs
volumetype: none
provisioner: kubernetes.io/glusterfs
volumeBindingMode: Immediate
EOT
现在您可以从webconsole动态创建存储:)欢迎提出任何改进建议。
接下来,我将检查如何扩展它?