通过追随《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 # 追加

以前的帖子

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Pod部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)NameSpace部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Label部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)ReplicaSet部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Deployment部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Service部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)ConfigMap部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)Secret部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)操作部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分2

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分3(Label操作)

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)体验部分3(OwnerReference操作)

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)清单部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)清单(ConfigMap)部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分2

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分3

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)通信部分4

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分1(NodePort)

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分2(LoadBalancer)

 

    1. 初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)公开部分3(Ingress)

 

    初学者的Kubernetes入门(从书籍《Kubernetes实践入门》的实例学习)外部存储部分
广告
将在 10 秒后关闭
bannerAds