当前位置: 首页 > article >正文

在K8S中,如何部署kubesphere?

在Kubernetes集群中,对于一些基础能力较弱的群体来说K8S控制面板操作存在一定的难度,此时kubesphere可以有效的解决这类难题。以下是部署kubesphere的操作步骤:

操作部署:

1. 部署nfs共享存储目录

yum -y install nfs-server
echo "/nfs/data *(rw,sync,no_root_squash)" >> /etc/exports
systemctl enable --now nfs-server
# 验证
showmount -e 10.0.0.231

2. 部署nfs-storageclass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-client
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must matchdeployment's env PROVISIONER_NAME'
parameters:
  archiveOnDelete: "false"

3. 部署deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nfs-client-provisioner
  labels:
    app: nfs-client-provisioner
spec:
  replicas: 2
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: nfs-client-provisioner
  template:
    metadata:
      labels:
        app: nfs-client-provisioner
    spec:
      serviceAccountName: nfs-client-provisioner
      containers:
        - name: nfs-client-provisioner
          image: registry.cn-hangzhou.aliyuncs.com/qinge/nfs-subdir-external-provisioner:v1
          volumeMounts:
            - name: nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME
              value: k8s-sigs.io/nfs-subdir-external-provisioner
            - name: NFS_SERVER
              value: 10.0.0.231
            - name: NFS_PATH
              value: /nfs/data
      volumes:
        - name: nfs-client-root
          nfs:
            server: 10.0.0.231  #nfs服务地址
            path: /nfs/data

4. 部署rbac

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: nfs-client-provisioner-runner
rules:
- apiGroups: [""]
  resources: ["persistentvolumes"]
  verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
  resources: ["persistentvolumeclaims"]
  verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
  resources: ["storageclasses"]
  verbs: ["get", "list", "watch"]
- apiGroups: [""]
  resources: ["events"]
  verbs: ["create", "update", "patch"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: run-nfs-client-provisioner
subjects:
- kind: ServiceAccount
  name: nfs-client-provisioner
  namespace: default  # 确保这里的namespace与你的nfs-client-provisioner服务账户所在的namespace相匹配
roleRef:
  kind: ClusterRole
  name: nfs-client-provisioner-runner
  apiGroup: rbac.authorization.k8s.io

配置集群

1. 将部署的nfs-storageclass设置成默认的Storageclass

kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

SC

2. 下载kubesphere的资源并部署

wget https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/kubesphere-installer.yaml
wget https://github.com/kubesphere/ks-installer/releases/download/v3.4.1/cluster-configuration.yaml

kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.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

效果展示

当pod全部部署成功后,此时就可以在浏览直接访问任意节点的30880端口了,默认用户名/密码:admin/P@88w0rd
效果图


http://www.kler.cn/a/464695.html

相关文章:

  • 以往博客的复习补充——part1
  • Tableau数据可视化与仪表盘搭建-安装教程
  • 使用python调用翻译大模型实现本地翻译【exe客户端版】
  • 2025考研江南大学复试科目控制综合(初试807自动控制原理)
  • Ubuntu Server安装谷歌浏览器
  • linux 软链接 快捷方式 详解
  • 【Ubuntu 系统 之 开启远程桌面SSH登录】
  • 课设CLion连接Ubuntu14makeQt项目出错解决汇总
  • 将simpletex 识别的公式 复制到ppt 中
  • java Redisson 实现限流每秒/分钟/小时限制N个
  • 启智云脑Ascend调试平台安装gcc
  • Ubuntu执行sudo apt-get update失败的解决方法
  • Hive如何创建自定义函数(UDF)?
  • 25年1月更新。Windows 上搭建 Python 开发环境:Python + PyCharm 安装全攻略(文中有安装包不用官网下载)
  • Transformer入门指南:从原理到实践
  • 有哪几种方法可以使html脱离文档流?
  • 华为OD E卷(100分)44-单次接龙
  • 深入浅出 Beam Search:自然语言处理中的高效搜索利器
  • ThinkPHP 模板引擎使用技巧:提高开发效率
  • 第四讲 比特币的主流化与价格波动
  • [python SQLAlchemy数据库操作入门]-24.使用 Celery 与 SQLAlchemy:异步任务处理股票数据
  • 互慧-急诊综合管理平台 ServicePage.aspx 任意文件读取漏洞复现
  • Spring Security(maven项目) 3.0.2.3版本
  • Docker图形化界面工具Portainer最佳实践
  • Unix/Linux 系统中环境变量有哪些
  • 两个等号和三个等号(待查资料)