通过追随《Kubernetes实践入门》一书的编写,初学者可以学习外部存储部分的Kubernetes入门知识,这是第二部分
背景
个人对于未来希望能够建立并部署能够运行应用程序的环境,以获得比基础设施知识更多的知识。并且,我希望能够进一步更新自己的知识。
我在其中遇见了这本书,从现在开始,我想把一点点所做的事情留下来,作为写给未来自己的信,希望可以重新审视。
引用和参考,以及这次我自己用来学习的书籍介绍。
关于实际学习
我想在阅读书籍的同时,按照章节逐渐前进。
我还想在学习中使用GitHub上的源代码。
这一章的学习可能真的主要是通过模仿书籍中的内容来进行。
勉强开始
分配给外部存储设备
apiVersion: v1
kind: PersistentVolume
metadata:
name: backup
spec:
capacity:
storage: 10Gi
accessModes: #(a)
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain #(b)
storageClassName: nfs #(c)
mountOptions:
- hard
nfs: #(d)
path: /Users/share
server: 192.168.3.4
a. 关于 accessModes
値説明ReadWriteOnce1つのノードから Read/Write でマウントできるReadOnlyMany複数のノードから Read Only でマウントできるReadWriteMany1つのノードから Read/Write でマウントできる
b. 关于 persistentVolumeReclaimPolicy
当一个PersistentVolumeClaim被删除时,应该采取什么样的操作策略。
値説明Retainデータの削除を行わず、データを保持するRecycleデータを削除するRetainデータと関連するストレージリソースを削除する
关于storageClassName
可以定义 StorageClass 的名称
d. 关于NFS
儲存設定
$ kubectl apply -f mysql-pv.yaml
persistentvolume/backup created
$ kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
backup 10Gi RWX Retain Available nfs 63s
持久卷索取的配置设置
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: backup-mysql
spec:
accessModes: # mysql-pv.yaml の accessModes と合わせる
- ReadWriteMany
resources: # mysql-pv.yaml の storage と合わせる
requests:
storage: 10Gi
storageClassName: nfs # mysql-pv.yaml の storageClassName と合わせる
$ kubectl apply -f mysql-pvc.yaml
persistentvolumeclaim/backup-mysql created
$ kubectl get persistentvolumeclaims
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
backup-mysql Bound backup 10Gi RWX nfs 58s
$ kubectl get persistentvolume
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
backup 10Gi RWX Retain Bound default/backup-mysql nfs 9m9s
确认通过 kubectl get persistentvolume 指令是否设置了 CLAIM。
接下来,我们将学习第3.7.5章。
我想学习使用StatefulSet创建MySQL主从结构。
我现在遇到了一些困扰,从现时点来看,我无法提前通过 GitHub 运行并确认,或者无法正确地运行脚本,这导致它与书籍中的操作不同。
我本来想待在家里,但是进展不顺利,希望有人能回答我的问题!
最后
我认为这次学习的内容是关于如何使用持久卷 (persistentvolume) 进行存储,并通过持久卷声明 (persistentvolumeclaim) 进行关联和使用的机制。
我学会了取得优势的技巧。
做过的事情 (zuò guò de shì qing)
我稍微改了一点。
/System/Volumes/Data/Users/user_name/study/share 192.168.3.4 -mapall=501:20
要开始时,似乎必须从/System/Volumes/Data/Users/开始,我参考了这个网站。要在macOS Catalina上进行NFS exports,需要macOS 10.15 Catalina版本。
這也是通過一番試驗和錯誤來進行的(如果不必要的話,請原諒)。
#
# nfs.conf: the NFS configuration file
#
nfs.server.mount.require_resv_port = 0 # 追加
以前的帖子
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Pod部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)NameSpace部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Label部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)ReplicaSet部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Deployment部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Service部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)ConfigMap部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Secret部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)操作部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分2
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分3(Label操作)
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分3(OwnerReference操作)
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)清单部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)清单(ConfigMap)部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分2
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分3
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分4
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分1(NodePort)
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分2(LoadBalancer)
-
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分3(Ingress)
- 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)外部存储部分