国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kubernetes(k8s)安裝NFS動態(tài)供給存儲類并安裝KubeSphere

這篇具有很好參考價值的文章主要介紹了Kubernetes(k8s)安裝NFS動態(tài)供給存儲類并安裝KubeSphere。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

KubeSphere介紹

它是一款全棧的 Kubernetes 容器云 PaaS 解決方案(來源于官網(wǎng)),而我覺得它是一款強大的Kubernetes圖形界面,它繼承了如下組件 (下面這段內(nèi)容來自官網(wǎng)):

  • Kubernetes DevOps 系統(tǒng)
    • 基于 Jenkins 為引擎打造的 CI/CD,內(nèi)置 Source-to-Image 和 Binary-to-Image 自動化打包部署工具
  • 基于 Istio 的微服務(wù)治理
    • 提供細粒度的流量管理、流量監(jiān)控、灰度發(fā)布、分布式追蹤,支持可視化的流量拓撲
  • 豐富的云原生可觀測性
    • 提供多維度與多租戶的監(jiān)控、日志、事件、審計搜索,支持多種告警策略與通知渠道,支持日志轉(zhuǎn)發(fā)
  • 云原生應(yīng)用商店
    • 提供基于 Helm 的應(yīng)用商店與應(yīng)用倉庫,內(nèi)置多個應(yīng)用模板,支持應(yīng)用生命周期管理
  • Kubernetes 多集群管理
    • 跨多云與多集群統(tǒng)一分發(fā)應(yīng)用,提供集群高可用與災(zāi)備的最佳實踐,支持跨級群的可觀測性
  • Kubernetes 邊緣節(jié)點管理
    • 基于 KubeEdge 實現(xiàn)應(yīng)用與工作負載在云端與邊緣節(jié)點的統(tǒng)一分發(fā)與管理,解決在海量邊、端設(shè)備上完成應(yīng)用交付、運維、管控的需求

當(dāng)然他的功能遠不止這些,歡迎各位來到KubeSphere的官網(wǎng)了解更多內(nèi)容:https://www.kubesphere.io/zh/

環(huán)境準(zhǔn)備

KubeSphere

(摘自官網(wǎng))

  • 您的 Kubernetes 版本必須為:v1.20.x、v1.21.x、* v1.22.x、* v1.23.x、* v1.24.x、* v1.25.x 和 * v1.26.x。帶星號的版本可能出現(xiàn)邊緣節(jié)點部分功能不可用的情況。因此,如需使用邊緣節(jié)點,推薦安裝 v1.21.x。
  • 確保您的機器滿足最低硬件要求:CPU > 1 核,內(nèi)存 > 2 GB。
  • 在安裝之前,需要配置 Kubernetes 集群中的默認存儲類型(這篇文章會介紹安裝)。

我已經(jīng)準(zhǔn)備好了一個Kubernetes集群,如圖:
k8s安裝nfs,kubernetes,容器,云原生

符合KubeSphere的支持邊緣節(jié)點的最高版本要求,但建議你版本號不要超過 v1.26.x 。

NFS動態(tài)供給

首先你需要準(zhǔn)備一臺NFS服務(wù)器,為了方便,我這次就以我的主服務(wù)器 k8s-master 來擔(dān)任這個NFS服務(wù)器了。

安裝NFS動態(tài)供給

搭建NFS

首先我們需要在NFS服務(wù)器(我的NFS服務(wù)器和master是同一臺)和所有k8s節(jié)點當(dāng)中安裝 nfs-utils 軟件包(master和node都需要安裝),可執(zhí)行下面這行命令:

yum install -y nfs-utils

安裝如圖:
k8s安裝nfs,kubernetes,容器,云原生

然后確定一個nfs共享的目錄,這次我就使用 /data/nfs/dynamic-provisioner 這個目錄作為nfs的共享目錄了。所以我們來執(zhí)行下面命令創(chuàng)建并共享這個目錄:

# 創(chuàng)建這個目錄
mkdir -p /data/nfs/dynamic-provisioner
# 執(zhí)行這行命令將這個目錄寫到寫到 /etc/exports 文件當(dāng)中去,這樣NFS會對局域網(wǎng)暴露這個目錄
cat >> /etc/exports << EOF
/data/nfs/dynamic-provisioner *(rw,sync,no_root_squash)
EOF
# 啟動NFS服務(wù)
systemctl enable --now nfs-server

執(zhí)行后如圖:
k8s安裝nfs,kubernetes,容器,云原生

檢查是否暴露成功:

showmount -e {nfs服務(wù)器地址}

可以看到是暴露成功的:
k8s安裝nfs,kubernetes,容器,云原生

下載動態(tài)供給驅(qū)動

因為Kubernetes自己不自帶NFS動態(tài)供給的驅(qū)動,所以我們需要下載第三方的NFS動態(tài)供給驅(qū)動。Kubernetes官方推薦了兩個第三方的驅(qū)動可供選擇,如圖:
k8s安裝nfs,kubernetes,容器,云原生

個人覺得這個 NFS subdir 驅(qū)動比較好用,這次就用這個驅(qū)動來搭建動態(tài)供給了。我們可以來到它的官網(wǎng):https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner,并找到最新的release:
k8s安裝nfs,kubernetes,容器,云原生

目前最新的發(fā)行版是 4.0.18 我們就下載這個版本:
k8s安裝nfs,kubernetes,容器,云原生

也可直接通過命令下載:

wget https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/archive/refs/tags/nfs-subdir-external-provisioner-4.0.18.tar.gz

下載成功如圖:
k8s安裝nfs,kubernetes,容器,云原生

我們直接解壓它:

tar -zxvf nfs-subdir-external-provisioner-4.0.18.tar.gz

解壓之后會獲得一個特別長的文件夾:
k8s安裝nfs,kubernetes,容器,云原生

修改驅(qū)動文件

我們來到這個文件夾下的deploy目錄:

cd nfs-subdir-external-provisioner-nfs-subdir-external-provisioner-4.0.18/deploy/

可以看到這里面有一些yaml,我們需要修改一部分:
k8s安裝nfs,kubernetes,容器,云原生

首先我們需要修改的就是 deployment.yaml ,我們直接用vim修改:

vim deployment.yaml

首先就是這個鏡像是在谷歌的k8s官方鏡像倉庫拉取的,國內(nèi)拉取不到,所以我們要修改一下:
k8s安裝nfs,kubernetes,容器,云原生

我已經(jīng)通過一些方法將它拉取下來并且上傳到了國內(nèi)的阿里云鏡像倉庫,我們可以直接用下面這個鏡像來替換:

# 這個鏡像是在谷歌上的,國內(nèi)拉取不到
# image: registry.k8s.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
# 使用這個我先在谷歌上拉取下來再上傳到阿里云上的鏡像
image: registry.cn-shenzhen.aliyuncs.com/xiaohh-docker/nfs-subdir-external-provisioner:v4.0.2

修改后如圖:
k8s安裝nfs,kubernetes,容器,云原生

然后我們還需要修改一下下面的nfs服務(wù)器地址和nfs服務(wù)器內(nèi)共享的目錄:
k8s安裝nfs,kubernetes,容器,云原生

我的nfs服務(wù)器地址為 172.18.0.2 ,且按照上面的安裝步驟,我nfs服務(wù)器暴露的共享目錄為 /data/nfs/dynamic-provisioner ,所以我修改文件為(你的有可能和我不一樣,根據(jù)自己設(shè)置的共享目錄和nfs服務(wù)器地址修改此文件):
k8s安裝nfs,kubernetes,容器,云原生

執(zhí)行下面這一段腳本我們可以看到還是有很多資源是存放在默認命名空間下:

yamls=$(grep -rl 'namespace: default' ./)
for yaml in ${yamls}; do
  echo ${yaml}
  cat ${yaml} | grep 'namespace: default'
done

執(zhí)行結(jié)果:
k8s安裝nfs,kubernetes,容器,云原生

我們可以新創(chuàng)建一個命名空間專門裝這個驅(qū)動,也方便以后管理,所以我決定創(chuàng)建一個名為 nfs-provisioner 命名空間,為了方便就不用yaml文件了,直接通過命令創(chuàng)建:

kubectl create namespace nfs-provisioner

執(zhí)行后可以看到這個命名空間創(chuàng)建成功:
k8s安裝nfs,kubernetes,容器,云原生

涉及命名空間這個配置的文件還挺多的,所以我們干脆通過一行腳本更改所有:

sed -i 's/namespace: default/namespace: nfs-provisioner/g' `grep -rl 'namespace: default' ./`

這行批量替換腳本直接將所有文件的命名空間都改過來了:
k8s安裝nfs,kubernetes,容器,云原生

安裝動態(tài)供給

之前我們已經(jīng)修改好了所有的yaml資源清單文件,接下來我們直接執(zhí)行安裝。安裝也是非常簡單,直接通過下面一行命令就可以安裝完成:

kubectl apply -k .

執(zhí)行結(jié)果如圖:
k8s安裝nfs,kubernetes,容器,云原生

可以執(zhí)行下面這個行命令查看是否部署完成:

kubectl get all -o wide -n nfs-provisioner

看到READY為 1/1 并且STATUS狀態(tài)為 Running 那么動態(tài)供給就已經(jīng)部署完畢:
k8s安裝nfs,kubernetes,容器,云原生

可以執(zhí)行下面命令查詢安裝的動態(tài)供應(yīng)存儲類的名字:

kubectl get storageclass

可以看到動態(tài)供應(yīng)類的名字為 nfs-client
k8s安裝nfs,kubernetes,容器,云原生

nfs動態(tài)供應(yīng)就已經(jīng)安裝完畢了

如果你只打算安裝動態(tài)供給的存儲類,那么到這里就結(jié)束了哦,接下來是KubeSphere相關(guān)的內(nèi)容

安裝KubeSphere

下載KubeSphere的yaml資源清單文件

此次安裝的是最新的 v3.4.0 的 KubeSphere,可以通過以下命令下載資源清單文件(共兩個):

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

可以看到一共下載了兩個文件:
k8s安裝nfs,kubernetes,容器,云原生

其中這兩個文件的作用:

  • kubesphere-installer.yaml: KubeSphere的安裝器
  • cluster-configuration.yaml: KubeSphere的集群配置文件

我們需要修改一下 cluster-configuration.yaml 文件,還記得我們之前的那個存儲類嗎?我們記住這個名字:
k8s安裝nfs,kubernetes,容器,云原生

然后我們開始修改這個文件:

vim cluster-configuration.yaml

可以看到后面注釋的說明,所以我們將 nfs-client 這個存儲類的名字寫在后面:
k8s安裝nfs,kubernetes,容器,云原生

安裝KubeSphere

然后我們先創(chuàng)建 kubesphere-installer.yaml 里面的資源:

kubectl apply -f kubesphere-installer.yaml

可以看到創(chuàng)建了一些資源:
k8s安裝nfs,kubernetes,容器,云原生

然后我們檢查這個資源是否創(chuàng)建成功:

kubectl get pod -o wide -n kubesphere-system

同樣當(dāng)READY為 1/1 并且STATUS狀態(tài)為 Running 的時候這個文件就執(zhí)行完畢了:
k8s安裝nfs,kubernetes,容器,云原生

接下來我們來執(zhí)行 cluster-configuration.yaml 文件:

kubectl apply -f cluster-configuration.yaml

它雖然只有一個資源,但是里面還是要做很多事的:
k8s安裝nfs,kubernetes,容器,云原生

執(zhí)行下面命令檢查KubeSphere的執(zhí)行日志:

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

一段時間之后看到這個就是安裝成功了:
k8s安裝nfs,kubernetes,容器,云原生

因為我使用的是云服務(wù)器,所以我使用任何一個云服務(wù)器的公網(wǎng)IP地址+端口就能訪問KubeSphere了,默認的用戶名/密碼是 admin/P@88w0rd
k8s安裝nfs,kubernetes,容器,云原生

初次登陸需要修改admin用戶的密碼:
k8s安裝nfs,kubernetes,容器,云原生

隨后即可以登錄到KubeSphere的首頁了:
k8s安裝nfs,kubernetes,容器,云原生

同時我們來到NFS服務(wù)器共享的目錄,可以看到KubeSphere的持久化數(shù)據(jù)存儲在這:
k8s安裝nfs,kubernetes,容器,云原生

使用KubeSphere部署應(yīng)用

創(chuàng)建項目

因為KubeSphere的管理是基于項目的,所以我們先要創(chuàng)建一個項目,先點擊企業(yè)空間:
k8s安裝nfs,kubernetes,容器,云原生

選擇這個默認企業(yè)(一般是新建一個企業(yè),這里就簡化了):
k8s安裝nfs,kubernetes,容器,云原生

然后點擊項目->創(chuàng)建:
k8s安裝nfs,kubernetes,容器,云原生

創(chuàng)建一個測試項目:
k8s安裝nfs,kubernetes,容器,云原生

創(chuàng)建一個項目其實就是創(chuàng)建了一個命名空間:
k8s安裝nfs,kubernetes,容器,云原生

部署MySQL

現(xiàn)在我們開始部署MySQL了,點擊這個剛創(chuàng)建的項目:
k8s安裝nfs,kubernetes,容器,云原生

然后依次點擊 工作負載->有狀態(tài)副本集->創(chuàng)建
k8s安裝nfs,kubernetes,容器,云原生

填寫部署一個測試的數(shù)據(jù)庫然后點擊下一步:
k8s安裝nfs,kubernetes,容器,云原生

點擊添加容器:
k8s安裝nfs,kubernetes,容器,云原生

搜索指定的鏡像并填寫要創(chuàng)建的容器名字:
k8s安裝nfs,kubernetes,容器,云原生

網(wǎng)下面拉可以設(shè)置CPU和內(nèi)存限制還有需要使用的端口:
k8s安裝nfs,kubernetes,容器,云原生

然后我們往下拉勾選環(huán)境變量,然后點擊創(chuàng)建保密字典:
k8s安裝nfs,kubernetes,容器,云原生

我們來設(shè)置mysql的密碼,這個名字可以隨便寫,但是自己要記住:
k8s安裝nfs,kubernetes,容器,云原生

類型選擇默認后點擊添加數(shù)據(jù):
k8s安裝nfs,kubernetes,容器,云原生

在這里設(shè)置mysql的root用戶密碼:
k8s安裝nfs,kubernetes,容器,云原生

然后點擊創(chuàng)建:
k8s安裝nfs,kubernetes,容器,云原生

最后創(chuàng)建的Secret會自動填充,但是注意MySQL設(shè)置root用戶密碼的環(huán)境變量名不能自定義,是由Docker規(guī)定死的 MYSQL_ROOT_PASSWORD
k8s安裝nfs,kubernetes,容器,云原生

點擊勾選同步主機時區(qū):
k8s安裝nfs,kubernetes,容器,云原生

點擊下面的對勾?:
k8s安裝nfs,kubernetes,容器,云原生

最后點擊下一步:
k8s安裝nfs,kubernetes,容器,云原生

到了下一步點擊添加持久卷聲明模版:
k8s安裝nfs,kubernetes,容器,云原生

然后按照提示輸入內(nèi)容:
k8s安裝nfs,kubernetes,容器,云原生

最后點擊下一步:
k8s安裝nfs,kubernetes,容器,云原生

點擊創(chuàng)建:
k8s安裝nfs,kubernetes,容器,云原生

點擊部署的這個mysql進來:
k8s安裝nfs,kubernetes,容器,云原生

可以看到容器狀態(tài)并且可以快速伸縮容器:
k8s安裝nfs,kubernetes,容器,云原生

當(dāng)這個變綠了就代表創(chuàng)建好了:
k8s安裝nfs,kubernetes,容器,云原生

然后點擊容器右邊的向下的小箭頭,最后點擊終端:
k8s安裝nfs,kubernetes,容器,云原生

最后在終端中即可運行mysql相關(guān)的命令了:
k8s安裝nfs,kubernetes,容器,云原生

這篇文章就先寫到這里,更多的KubeSphere操作,可以登錄KubeSphere的官網(wǎng)了解,關(guān)注我,我以后一會寫更多相關(guān)知識的哦!
KubeSphere官網(wǎng):https://www.kubesphere.io/zh/文章來源地址http://www.zghlxwxcb.cn/news/detail-703844.html

到了這里,關(guān)于Kubernetes(k8s)安裝NFS動態(tài)供給存儲類并安裝KubeSphere的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • k8s 配置hadoop集群,nfs作為存儲

    k8s 配置hadoop集群,nfs作為存儲

    目錄 一、簡介 二、nfs服務(wù)nfs-provisioner配置 1、k8S服務(wù)器需安裝nfs客戶端 2、nfs服務(wù)端安裝配置 3、使用nfs-provisioner動態(tài)創(chuàng)建PV? (文件已修改) 三、hadoop配置文件 1、# cat hadoop.yaml 2、# cat hadoop-datanode.yaml 3、# cat yarn-node.yaml? 4、執(zhí)行文件并查看 5、聯(lián)通性驗證 ?四、報錯解決

    2024年02月10日
    瀏覽(28)
  • k8s 部署zookeeper-kafka,nfs作為存儲

    目錄 備注:nfs存儲參考鏈接 一、zk鏡像拉取并制作為自己鏡像 二、編輯zookeeper.yaml文件? 三、安裝zk并檢查狀態(tài)? 四、驗證zookeeper集群可用性 五、制作對應(yīng)版本的kafka鏡像 六、編輯kafka.yaml文件 七、創(chuàng)建kafka并查看狀態(tài) 八、zk與kafka連通性查看 九、錯誤解決 k8s 配置hadoop集群,

    2024年02月16日
    瀏覽(21)
  • k8s通過nfs-provisioner配置持久化存儲

    一、nfs-client-provisioner簡介 Kubernetes集群中NFS類型的存儲沒有內(nèi)置 Provisioner。但是你可以在集群中為NFS配置外部Provisioner。 Nfs-client-provisioner是一個開源的NFS 外部Provisioner,利用NFS Server為Kubernetes集群提供持久化存儲,并且支持動態(tài)購買PV。但是nfs-client-provisioner本身不提供NFS,需

    2024年02月11日
    瀏覽(22)
  • K8S使用持久化卷存儲到NFS(NAS盤)

    K8S使用持久化卷存儲到NFS(NAS盤)

    參考文章:K8S-v1.20中使用PVC持久卷 - 知乎 目錄 1、概念: 1.1 基礎(chǔ)概念 1.2 PV的配置 1.2.1 靜態(tài)PV配置 1.2.2 動態(tài)PV配置 1.2.3 PVC與PV的綁定 1.2.4 PVC及PV的使用 2 部署PV及PVC 2.1 所有K8S機器都需要安裝NFS程序 2.2 僅針對需要暴露文件服務(wù)的機器開啟NFS服務(wù) ? ? ? ? 2.2.1 Linux為例開啟NFS服

    2023年04月26日
    瀏覽(27)
  • Kubernetes(K8S之存儲)

    Kubernetes(K8S之存儲)

    configMap功能在Kubernetes1.2版本中引入,許多應(yīng)用程序會從配置文件,命令行參數(shù)或環(huán)境變量中讀取配置信息。ConfigMap API給我們提供了向容器中注入配置信息的機制。ConfigMap可以被用來保存單個屬性。 也可以用來保存整個配置文件或者JSON二進制大對象。 1,使用目錄創(chuàng)建 $ls d

    2024年03月08日
    瀏覽(26)
  • Kubernetes(k8s)實戰(zhàn):深入詳解Volume,詳解k8s文件同步存儲

    Kubernetes(k8s)實戰(zhàn):深入詳解Volume,詳解k8s文件同步存儲

    Volume官網(wǎng):https://kubernetes.io/docs/concepts/storage/volumes/ On-disk files in a Container are ephemeral, which presents some problems for non-trivial applications when running in Containers. First, when a Container crashes, kubelet will restart it, but the files will be lost - the Container starts with a clean state. Second, when running Containers to

    2024年02月13日
    瀏覽(20)
  • 云原生Kubernetes:K8S存儲卷

    云原生Kubernetes:K8S存儲卷

    目錄 一、理論 1.存儲卷 2.emptyDir 存儲卷 3.hostPath卷 4.NFS共享存儲 5.PVC 和 PV 6.靜態(tài)創(chuàng)建PV 7.動態(tài)創(chuàng)建PV 二、實驗 ?1.emptyDir 存儲卷 2.hostPath卷 3.NFS共享存儲 4.靜態(tài)創(chuàng)建PV 5.動態(tài)創(chuàng)建PV 三、問題 1.生成pod一直pending 2.shoumount -e未顯示共享目錄 3.靜態(tài)創(chuàng)建pv 報錯 4.使用 Deployment 來創(chuàng)建

    2024年02月07日
    瀏覽(33)
  • Kubernetes/k8s的存儲卷/數(shù)據(jù)卷

    Kubernetes/k8s的存儲卷/數(shù)據(jù)卷

    k8s的存儲卷/數(shù)據(jù)卷 容器內(nèi)的目錄和宿主機的目錄掛載 容器在系統(tǒng)上的生命周期是短暫的,delete,k8s用控制創(chuàng)建的pod,delete相當(dāng)于重啟,容器的狀態(tài)也會回復(fù)到初始狀態(tài) 一旦回到初始狀態(tài),所有的后天編輯的文件都會消失 容器和節(jié)點之間創(chuàng)建一個可以持久化保存容器內(nèi)文件

    2024年01月24日
    瀏覽(44)
  • 【Kubernetes】k8s使用minio作為對象存儲

    【Kubernetes】k8s使用minio作為對象存儲

    k8s version:v1.20.15 minio version :v4.4.16 (1)安裝kubectl-minio插件 自選minio-operaterd的版本下載包 minio-operater plugin 訪問地址:http://ip:9090 1、sc-minio.yaml 創(chuàng)建 2、 創(chuàng)建所需的永久卷 序號 路徑 容量 (G) 說明 所在節(jié)點 1 /data/1 5 租戶使用 3個節(jié)點各1個 2 /data/log1 5 租戶使用 3個節(jié)點各1個

    2024年04月09日
    瀏覽(21)
  • Kubernetes基礎(chǔ)(十八)-k8s存儲對象Persistent Volume

    在容器化應(yīng)用中,Pod的生命周期是短暫的,當(dāng)Pod終止時,其中的數(shù)據(jù)通常也會被銷毀。為了解決這個問題,Kubernetes引入了Persistent Volume(PV)的概念。PV是集群中的一塊持久化存儲,它獨立于Pod存在,可以被多個Pod共享,并且在Pod終止后仍然保留數(shù)據(jù)。 PV允許開發(fā)者將數(shù)據(jù)存儲

    2024年02月20日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包