docker - 具有裸机的 Kubernetes 有状态应用程序
问题描述
我对 Kubernetes 和云计算还很陌生。我正在家里使用裸机服务器(实际上是 vbox 上的虚拟服务器),并尝试使用 StatefulSet 运行有状态应用程序。我有 1 个主节点和 2 个工作节点,我正在尝试在这个集群上运行一个数据库应用程序。所以每个节点都有 1 个 pod,我对卷很困惑。我使用hostpath
卷(下面的代码),但卷单独工作(实际上它们没有同步)。因此,当我到达它们时,我的 2 个 pod 的工作方式不同(相同的应用程序,但它们像 2 个不同的服务器一样运行)。
如何在 2 个同步的 pod 中运行该应用程序?
我尝试在 2 个从站之间同步卷文件。我还尝试将卷文件与部署同步。我尝试通过卷配置(持久卷和持久卷配置)来做到这一点。
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: cloud
spec:
selector:
matchLabels:
app: cloud
serviceName: "cloud"
replicas: 2
template:
metadata:
labels:
app: cloud
spec:
containers:
- name: cloud
image: owncloud:v2
imagePullPolicy: Never
ports:
- containerPort: 80
name: web
volumeMounts:
- name: cloud-volume
mountPath: /var/www/html/
volumes:
- name: cloud-volume
hostPath:
path: /volumes/cloud/
---
kind: Service
apiVersion: v1
metadata:
name: cloud
spec:
selector:
app: cloud
type: LoadBalancer
ports:
- protocol: TCP
port: 80
解决方案
推荐阅读
- python - 是否可以从条目小部件或文本小部件在树视图中插入多行文本?或类似的东西?
- c# - 自定义调整窗口大小
- python - Python Tkinter 应用程序将焦点从打开的文件夹中移开
- javascript - 如何条带化 HTML标记并将其替换为
? - macos - macOS (AppKit/SwiftUI) 中的自定义对象全选/取消选择菜单项
- c# - 如何在 .NET Core 中使用依赖注入注册多个项目?
- django - django 数据库的初始动态数据
- python - tkinter 将第二帧放在顶层
- rust - try_lock 在异步之外的 futures::lock::Mutex 上?
- javascript - 点倍增 (P -> 2P) Secp256k1 椭圆曲线的基点