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

福建建设工程设计备案网站智慧团建注册志愿者入口

福建建设工程设计备案网站,智慧团建注册志愿者入口,上海杨浦区网站建设,陕西城乡建设局网站API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph API资源对象StorageClass SC的主要作用在于#xff0c;自动创建PV#xff0c;从而实现PVC按需自动绑定PV。 下面我们通过创建一个基于NFS的SC来演示SC的作用。 要想使用NFS的SC#xff0c;还需要安装一个NFS…API资源对象StorageClass;Ceph存储;搭建Ceph集群;k8s使用ceph API资源对象StorageClass SC的主要作用在于自动创建PV从而实现PVC按需自动绑定PV。 下面我们通过创建一个基于NFS的SC来演示SC的作用。 要想使用NFS的SC还需要安装一个NFS provisionerprovisioner里会定义NFS相关的信息服务器IP、共享目录等 github地址 https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner 将源码下载下来 git clone https://github.com/kubernetes-sigs/nfs-subdir-external-provisionercd nfs-subdir-external-provisioner/deploy sed -i s/namespace: default/namespace: kube-system/ rbac.yaml ##修改命名空间为kube-system kubectl apply -f rbac.yaml ##创建rbac授权修改deployment.yaml sed -i s/namespace: default/namespace: kube-system/ deployment.yaml ##修改命名空间为kube-system##你需要修改标红的部分 spec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: chronolaw/nfs-subdir-external-provisioner:v4.0.2 ##改为dockerhub地址volumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: k8s-sigs.io/nfs-subdir-external-provisioner- name: NFS_SERVERvalue: 192.168.222.99 ##nfs服务器地址- name: NFS_PATHvalue: /data/nfs ##nfs共享目录volumes:- name: nfs-client-rootnfs:server: 192.168.222.99 ##nfs服务器地址path: /data/nfs ##nfs共享目录应用yaml kubectl apply -f deployment.yaml kubectl apply -f class.yaml ##创建storageclassSC YAML示例 cat class.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: nfs-client provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployments env PROVISIONER_NAME parameters:archiveOnDelete: false ##自动回收存储空间有了SC还需要一个PVC vi nfsPvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: nfspvcspec:storageClassName: nfs-clientaccessModes:- ReadWriteManyresources:requests:storage: 500Mi下面创建一个Pod来使用PVC vi nfsPod.yaml apiVersion: v1 kind: Pod metadata:name: nfspod spec:containers:- name: nfspodimage: nginx:1.23.2volumeMounts:- name: nfspvmountPath: /usr/share/nginx/htmlvolumes:- name: nfspvpersistentVolumeClaim:claimName: nfspvcCeph存储 说明Kubernetes使用Ceph作为存储有两种方式一种是将Ceph部署在Kubernetes里需要借助一个工具rook另外一种就是使用外部的Ceph集群也就是说需要单独部署Ceph集群。 下面我们使用的就是第二种。 搭建Ceph集群 1准备工作 机器编号主机名IP1ceph1192.168.222.1112ceph2192.168.222.1123ceph3192.168.222.113 关闭selinux、firewalld配置hostname以及/etc/hosts 为每一台机器都准备至少一块单独的磁盘vmware下很方便增加虚拟磁盘不需要格式化。 所有机器安装时间同步服务chrony yum install -y chrony systemctl start chronyd systemctl enable chronyd设置yum源ceph1上 vi /etc/yum.repos.d/ceph.repo #内容如下 cat /etc/yum.repos.d/ceph.repo [ceph] nameceph baseurlhttp://mirrors.aliyun.com/ceph/rpm-pacific/el8/x86_64/ gpgcheck0 priority 1 [ceph-noarch] namecephnoarch baseurlhttp://mirrors.aliyun.com/ceph/rpm-pacific/el8/noarch/ gpgcheck0 priority 1 [ceph-source] nameCeph source packages baseurlhttp://mirrors.aliyun.com/ceph/rpm-pacific/el8/SRPMS gpgcheck0 priority1所有机器安装docker-ceceph使用docker形式部署 先安装yum-utils工具 yum install -y yum-utils 配置Docker官方的yum仓库如果做过可以跳过 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo安装docker-ce yum install -y docker-ce启动服务 systemctl start docker systemctl enable docker所有机器安装python3、lvm2三台都做 yum install -y python3 lvm22安装cephadmceph1上执行 yum install -y cephadm3使用cephadm部署cephceph1上 cephadm bootstrap --mon-ip 192.168.222.111注意看用户名、密码 4访问dashboard https://192.168.222.111:8443 更改密码后用新密码登录控制台 5增加host 首先进入ceph shellceph1上 cephadm shell ##会进入ceph的shell界面下生成ssh密钥对儿 [ceph: rootceph1 /]# ceph cephadm get-pub-key ~/ceph.pub配置到另外两台机器免密登录 [ceph: rootceph1 /]# ssh-copy-id -f -i ~/ceph.pub rootceph2 [ceph: rootceph1 /]# ssh-copy-id -f -i ~/ceph.pub rootceph3到浏览器里增加主机 6创建OSDceph shell模式下在ceph上操作 假设三台机器上新增的新磁盘为/dev/sdb ceph orch daemon add osd ceph1:/dev/sdb ceph orch daemon add osd ceph2:/dev/sdb ceph orch daemon add osd ceph3:/dev/sdb查看磁盘列表 ceph orch device ls此时dashboard上也可以看到 7创建pool 8查看集群状态 ceph -s9针对tang-1 pool启用rbd application ceph osd pool application enable tang-1 rbd10初始化pool rbd pool init tang-1k8s使用ceph 1获取ceph集群信息和admin用户的keyceph那边 #获取集群信息 [ceph: rootceph1 /]# ceph mon dump epoch 3 fsid 2f8f283c-f84a-11ed-983f-000c29dd2163 ##这一串一会儿用 last_changed 2023-05-22T04:08:00.6848930000 created 2023-05-22T02:44:15.8714430000 min_mon_release 16 (pacific) election_strategy: 1 0: [v2:192.168.222.111:3300/0,v1:192.168.222.111:6789/0] mon.ceph1 1: [v2:192.168.222.112:3300/0,v1:192.168.222.112:6789/0] mon.ceph2 2: [v2:192.168.222.113:3300/0,v1:192.168.222.113:6789/0] mon.ceph3 dumped monmap epoch 3#获取admin用户key [ceph: rootceph1 /]# ceph auth get-key client.admin ; echo AQD/1mpkHaTTCxAAqETAy48Z/aChnMso92dug #这串一会用2下载并导入镜像 将用到的镜像先下载下来避免启动容器时镜像下载太慢或者无法下载 可以下载到其中某一个节点上然后将镜像拷贝到其它节点 #下载镜像其中一个节点 wget -P /tmp/ https://d.frps.cn/file/tools/ceph-csi/k8s_1.24_ceph-csi.tar#拷贝 scp /tmp/k8s_1.24_ceph-csi.tar tanglinux02:/tmp/ scp /tmp/k8s_1.24_ceph-csi.tar tanglinux03:/tmp/#导入镜像所有k8s节点 ctr -n k8s.io i import k8s_1.24_ceph-csi.tar3建ceph的 provisioner 创建ceph目录后续将所有yaml文件放到该目录下 mkdir ceph cd ceph创建secret.yaml cat secret.yaml EOF apiVersion: v1 kind: Secret metadata:name: csi-rbd-secretnamespace: default stringData:userID: adminuserKey: AQBnanBkRTh0DhAAJVBdxOySVUasyOJiMAibYQ #这串上面已经获取 EOF创建config-map.yaml cat csi-config-map.yaml EOF apiVersion: v1 kind: ConfigMap metadata:name: ceph-csi-config data:config.json: |-[{clusterID: 0fd45688-fb9d-11ed-b585-000c29dd2163, monitors: [192.168.222.111:6789,192.168.222.112:6789,192.168.222.113:6789]}] EOF创建ceph-conf.yaml cat ceph-conf.yaml EOF apiVersion: v1 kind: ConfigMap data:ceph.conf: |[global]auth_cluster_required cephxauth_service_required cephxauth_client_required cephx# keyring is a required key and its value should be emptykeyring: | metadata:name: ceph-config EOF创建csi-kms-config-map.yaml该config内容为空 cat csi-kms-config-map.yaml EOF --- apiVersion: v1 kind: ConfigMap data:config.json: |-{} metadata:name: ceph-csi-encryption-kms-config EOF下载其余rbac以及provisioner相关yaml wget https://d.frps.cn/file/tools/ceph-csi/csi-provisioner-rbac.yaml wget https://d.frps.cn/file/tools/ceph-csi/csi-nodeplugin-rbac.yamlwget https://d.frps.cn/file/tools/ceph-csi/csi-rbdplugin.yaml wget https://d.frps.cn/file/tools/ceph-csi/csi-rbdplugin-provisioner.yaml应用所有yaml注意当前目录是在ceph目录下 for f in ls *.yaml; do echo $f; kubectl apply -f $f; done检查provisioner的pod状态为running才对 kubectl get po4创建storageclass 在k8s上创建ceph-sc.yaml cat ceph-sc.yaml EOF apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: csi-rbd-sc #storageclass名称 provisioner: rbd.csi.ceph.com #驱动器 parameters:clusterID: 0fd45688-fb9d-11ed-b585-000c29dd2163 #ceph集群idpool: tang-1 #pool空间imageFeatures: layering #rbd特性csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secretcsi.storage.k8s.io/provisioner-secret-namespace: defaultcsi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secretcsi.storage.k8s.io/controller-expand-secret-namespace: defaultcsi.storage.k8s.io/node-stage-secret-name: csi-rbd-secretcsi.storage.k8s.io/node-stage-secret-namespace: default reclaimPolicy: Delete #pvc回收机制 allowVolumeExpansion: true #对扩展卷进行扩展 mountOptions: #StorageClass 动态创建的 PersistentVolume 将使用类中 mountOptions 字段指定的挂载选项- discard EOF##应用yaml kubectl apply -f ceph-sc.yaml 5创建pvc 在k8s上创建ceph-pvc.yaml cat ceph-pvc.yaml EOF apiVersion: v1 kind: PersistentVolumeClaim metadata:name: ceph-pvc #pvc名称 spec:accessModes:- ReadWriteOnce #访问模式resources:requests:storage: 1Gi #存储空间storageClassName: csi-rbd-sc EOF#应用yaml kubectl apply -f ceph-pvc.yaml查看pvc状态STATUS必须为Bound kubectl get pvc6创建pod使用ceph存储 cat ceph-pod.yaml EOF apiVersion: v1 kind: Pod metadata:name: ceph-pod spec:containers:- name: ceph-ngimage: nginx:1.23.2volumeMounts:- name: ceph-mntmountPath: /mntreadOnly: falsevolumes:- name: ceph-mntpersistentVolumeClaim:claimName: ceph-pvc EOFkubectl apply -f ceph-pod.yaml查看pv kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-a952fbf2-0f3f-4d69-b7bd-afc58f2e0402 1Gi RWO Delete Bound default/ceph-pvc csi-rbd-sc 1h 在ceph这边查看rbd [ceph: rootceph1 /]# rbd ls tang-1 tang-img1 csi-vol-ca03a97d-f985-11ed-ab20-9e95af1f105a在pod里查看挂载情况 kubectl exec -it ceph-pod -- df Filesystem 1K-blocks Used Available Use% Mounted on overlay 18375680 11418696 6956984 63% / tmpfs 65536 0 65536 0% /dev tmpfs 914088 0 914088 0% /sys/fs/cgroup /dev/rbd0 996780 24 980372 1% /mnt /dev/sda3 18375680 1141866 6956984 63% /etc/hosts shm 65536 0 65536 0% /dev/shm tmpfs 1725780 12 1725768 1% /run/secrets/kubernetes.io/serviceaccount tmpfs 914088 0 914088 0% /proc/acpi tmpfs 914088 0 914088 0% /proc/scsi tmpfs 914088 0 914088 0% /sys/firmware
http://www.hkea.cn/news/14305837/

相关文章:

  • 叫别人建个网站多少钱如何在虚拟主机上面搭建wordpress
  • 如何做推广麦当劳的网站wordpress ssl部署
  • 电梯网站建设app开发公司选择指南及误区
  • 做网站需要花多少钱wordpress宠物主题
  • 找方案的网站网站设计合同模板
  • 一些js特效的网站推荐wordpress 忘记管理员
  • 1个人做几个网站的负责人表白网页制作免费网站
  • 服装网站 欣赏装企erp管理系统
  • 品质商城网站建设三亚婚纱摄影 织梦网站源码
  • 织梦网站去除技术支持东莞定制建站网站推广公司
  • 给公司做网站软件商丘seo教程
  • wordpress仿站header专门做团购的网站
  • 临沂网站开发技术员广州设计公司前十名
  • 自己做的网站实现扫码跳转福州企业网站建站模板
  • 站长工具下载app网站前面的小图标怎么做
  • 视频网站怎么做可以播放电视剧表格上传网站
  • 深圳鸿运通网站建设大型网站如何开发
  • 做网站有自己的服务器吗网络推广营销课程
  • 百度流量推广项目系统优化软件有哪些
  • 设计旅游网站的主色调wordpress 重复文章
  • 响应式网站建设多少钱金华外贸网站建设
  • 两学一做教育考试网站免费网页设计作品
  • 常州网站推西安市城乡建设档案馆网站
  • 海南省建设考试网站公司介绍模板图片
  • wordpress仿站标签宁波北京网站建设
  • 网站引导页怎么做边个网站可以接模具做
  • 用什么网站做浏览器主页怎样快速建设网站模板
  • 北京市住房建设投资中心网站网站浏览图片怎么做
  • 开网站空间流量怎么选择wordpress 输入框
  • 六安网站自然排名优化价格做淘宝有哪些货源网站