如何基于k8s搭建kubesphere?

228 阅读1分钟

1.简介

以下安装基于Centos7机器

1.1效果图

image.png

1.2资源要求

官方文档 image.png

2.配置基于NFS的DefaultStorageClass

2.1安装NFS服务端

2.1.1安装必要资源

# nfs服务端和使用nfs的客户端都执行安装(k8s的各个节点都安装)
yum -y install nfs-utils rpcbind
# 设置开机自启动
systemctl enable nfs
systemctl enable rpcbind

# 启动nfs
systemctl start rpcbind
systemctl start nfs

2.1.2.配置

# 配置nfs
vi /etc/exports
/usr/local/k8s/nfsdata 172.16.255.0/24(rw,no_root_squash,no_all_squash,sync)
# 启动nfs
systemctl restart nfs

2.2.创建StorageClass

基于nfs的storageclass需要下载对应的插件进行部署

2.2.1.下载资源文件

插件项目仓库

#  如果实在下载不下来,就直接进入github进行拷贝 下面这几个yaml文件
for file in class.yaml deployment.yaml rbac.yaml test-claim.yaml test-pod.yaml; \
do wget https://github.com/kubernetes-retired/external-storage/tree/master/nfs-client/deploy/$file; \
done

2.2.2.修改deployment.yaml

image.png

2.2.3.设置DefaultStorageClass

image.png

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"   # 此属性为设置为default StorageClass
  name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
parameters:
  archiveOnDelete: "false"

2.2.4.测试StorageClass

kubectl apply -f test-claim.yaml kubectl apply -f test-pod.yaml

如果创建的pvc一直处于pending状态,可按照如下方式解决(增加配置后需要等待k8s重启完成)

[问题描述](https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/issues/25)
# 解决:
# 修改apiserver的yaml文件
vim /etc/kubernetes/manifests/kube-apiserver.yaml
# 内容如下
spec:
  containers:
  - command:
    - kube-apiserver
    - --feature-gates=RemoveSelfLink=false

3.安装kubesphere

# 执行以下命令安装
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/kubesphere-installer.yaml
   
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/cluster-configuration.yaml

# 执行以下命令检查安装日志 过程稍微有点长 最后出现文章开头的内容就说明安装成功
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

# 在浏览器中出入日志中提示的访问地址即可