部署KubeSphere使用GlusterFS作为持久化存储

一、准备工作
GlusterFS独立部署
所有节点安装socat、conntrack、ebtables、ipset

apt install -f openssl socat conntrack ebtables ipset

二、GlusterFS部署文件

vi /root/glusterfs-sc.yaml
apiVersion: v1
kind: Secret
metadata:
  name: heketi-secret
  namespace: kube-system
type: kubernetes.io/glusterfs
data:
  key: dUpmQmpSU0g=	# glusterfs ssh admin 密码base64
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.beta.kubernetes.io/is-default-class: "true"
    storageclass.kubesphere.io/supported-access-modes: '["ReadWriteOnce","ReadOnlyMany","ReadWriteMany"]'
  name: glusterfs
parameters:
  clusterid: "6c9c89de14a83a3746482a8c3030850a"
  gidMax: "50000"
  gidMin: "40000"
  restauthenabled: "true"
  resturl: "http://192.168.0.2:38080"
  restuser: admin
  secretName: heketi-secret
  secretNamespace: kube-system
  volumetype: "replicate:3"
provisioner: kubernetes.io/glusterfs
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
  • 下载KubeKey
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.2 sh -
chmod +x kk
./kk create config --with-kubernetes v1.22.12 --with-kubesphere v3.3.1
vi config-sample.yaml
apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  hosts:
  - {name: ksmaster-01, address: 192.168.0.2, internalAddress: 192.168.0.2, user: master, password: "7QGQrjCZ8sp5yLCv"}
  - {name: ksworker-01, address: 192.168.0.3, internalAddress: 192.168.0.3, user: master, password: "7QGQrjCZ8sp5yLCv"}
  - {name: ksworker-02, address: 192.168.0.4, internalAddress: 192.168.0.4, user: master, password: "7QGQrjCZ8sp5yLCv"}
  roleGroups:
    etcd:
    - ksmaster-01
    control-plane: 
    - ksmaster-01
    worker:
    - ksworker-01
    - ksworker-02
  controlPlaneEndpoint:
    ## Internal loadbalancer for apiservers 
    # internalLoadbalancer: haproxy

    domain: lb.kubesphere.local
    address: ""
    port: 6443
  kubernetes:
    version: v1.22.12
    clusterName: cluster.local
    autoRenewCerts: true
    containerManager: docker
  etcd:
    type: kubekey
  network:
    plugin: calico
    kubePodsCIDR: 10.233.64.0/18
    kubeServiceCIDR: 10.233.0.0/18
    ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni
    multusCNI:
      enabled: false
  registry:
    privateRegistry: ""
    namespaceOverride: ""
    registryMirrors: []
    insecureRegistries: []
  addons:
  - name: glusterfs
    namespace: kube-system
    sources:
      yaml:
        path:
        - /root/glusterfs-sc.yaml
./kk create cluster -f config-sample.yaml
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f
  • kubesphere开启集群网关
vi /etc/kubernetes/manifests/kube-apiserver.yaml
- --service-node-port-range=1-65535
systemctl daemon-reload && systemctl restart kubelet
  • 更改集群网关端口
kubectl edit svc kubesphere-router-kubesphere-system -n kubesphere-controls-system
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值