Kubernetes的初学者入门指南(从《Kubernetes实践入门》这本书的实践中学习)- StatefulSet部分- 第二部分
背景 –
我个人希望能够创建并部署能够运行未来应用程序的环境,以此比拥有基础设施知识更重要。我想要学习未来的知识,并进一步更新我的知识。
在这其中,我遇到了这本书,我希望将来能够把我所做的一点一滴记录下来,作为给未来的自己的一封信,希望能够重新审视自己。
这里是一些关于我这次研究学习所参考和引用的书籍的介绍。
关于实际学习
我打算在閱讀書籍的同時,逐章進展一點點。
我也想利用GitHub的源代碼來學習。
學習這一章可能主要是將書本內容模仿寫下來…
勉强开始 –
-
- 使用 StatefulSet 定义 MySQL
-
- 为存储 MySQL 数据分配内部存储 ※当前位置
-
- 设置 Master、Slave 用的配置文件并进行配置
-
- 为备份分配外部存储
- 在 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节。
-
- 使用 StatefulSet 定义 MySQL
-
- 为 MySQL 数据存储分配内部存储
-
- 将配置文件设置为主/从并放置 ※下次
-
- 为备份分配外部存储
- 在主/从之间同步数据
最后
我认为这次命令本身也成功执行了,可以看到结果。
之前的发表
-
- 初学者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的手写学习)外部存储部分
-
- 初学者Kubernetes入门(来源于实践入门书籍Kubernetes的手写学习)外部存储部分第2部分
- 初学者Kubernetes入门(来源于实践入门书籍Kubernetes的手写学习)StatefulSet部分