Kubernetes的初学者入门指南(从《Kubernetes实践入门》这本书的实践中学习)- StatefulSet部分- 第二部分

背景 –

我个人希望能够创建并部署能够运行未来应用程序的环境,以此比拥有基础设施知识更重要。我想要学习未来的知识,并进一步更新我的知识。

在这其中,我遇到了这本书,我希望将来能够把我所做的一点一滴记录下来,作为给未来的自己的一封信,希望能够重新审视自己。

这里是一些关于我这次研究学习所参考和引用的书籍的介绍。

关于实际学习

我打算在閱讀書籍的同時,逐章進展一點點。
我也想利用GitHub的源代碼來學習。
學習這一章可能主要是將書本內容模仿寫下來…

勉强开始 –

    1. 使用 StatefulSet 定义 MySQL

 

    1. 为存储 MySQL 数据分配内部存储 ※当前位置

 

    1. 设置 Master、Slave 用的配置文件并进行配置

 

    1. 为备份分配外部存储

 

    在 Master-Slave 之间同步数据

使用 StatefulSet 定义 MySQL。

        volumeMounts:                 # (a)
        - name: data
          mountPath: /var/lib/mysql
  volumeClaimTemplates:               # (b)
  - metadata:
      name: data                      # (c)
    spec:                             # (d)
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: 1Gi
    • a について

Pod 内のマウント先として /var/lib/mysql ディレクトリを指定し、マウント先に data という名前を設定します

b について

Pod が作成されるたびに呼び出される設定定義

c について

volumeMounts.name と metadata.name を指定することでマウントが設定される

d について

PersistentVolumeClaim に定義する要求仕様を定義します

确认应用宣言


$ kubectl get persistentvolumeclaims
NAME           STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
backup-mysql   Bound    backup                                     10Gi       RWX            nfs            15h
data-mysql-0   Bound    pvc-1fd52e17-ac26-486f-86b0-839a6e941e9d   1Gi        RWO            hostpath       22h
data-mysql-1   Bound    pvc-9588fc93-4147-4eda-aafa-2ba890e7776b   1Gi        RWO            hostpath       15h

$ kubectl get persistentvolume
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                  STORAGECLASS   REASON   AGE
backup                                     10Gi       RWX            Retain           Bound    default/backup-mysql   nfs                     15h
pvc-1fd52e17-ac26-486f-86b0-839a6e941e9d   1Gi        RWO            Delete           Bound    default/data-mysql-0   hostpath                22h
pvc-9588fc93-4147-4eda-aafa-2ba890e7776b   1Gi        RWO            Delete           Bound    default/data-mysql-1   hostpath                15h

$ kubectl get storageclasses
NAME                 PROVISIONER          AGE
hostpath (default)   docker.io/hostpath   36h

下一步我们将继续学习3.7.5节。

    1. 使用 StatefulSet 定义 MySQL

 

    1. 为 MySQL 数据存储分配内部存储

 

    1. 将配置文件设置为主/从并放置 ※下次

 

    1. 为备份分配外部存储

 

    在主/从之间同步数据

最后

我认为这次命令本身也成功执行了,可以看到结果。

之前的发表

    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)

 

    1. 初学者Kubernetes入门(来源于实践入门书籍Kubernetes的手写学习)外部存储部分

 

    1. 初学者Kubernetes入门(来源于实践入门书籍Kubernetes的手写学习)外部存储部分第2部分

 

    初学者Kubernetes入门(来源于实践入门书籍Kubernetes的手写学习)StatefulSet部分
广告
将在 10 秒后关闭
bannerAds