forked from hswaw/hscloud
cluster/kube: refactor, add crdb-waw1
This commit is contained in:
parent
e53e39a8be
commit
c7258f4644
1 changed files with 91 additions and 72 deletions
|
@ -1,13 +1,15 @@
|
||||||
# Top level cluster configuration.
|
# Top level cluster configuration.
|
||||||
|
|
||||||
local kube = import "../../kube/kube.libsonnet";
|
local kube = import "../../kube/kube.libsonnet";
|
||||||
local coredns = import "lib/coredns.libsonnet";
|
|
||||||
local metrics = import "lib/metrics.libsonnet";
|
|
||||||
local calico = import "lib/calico.libsonnet";
|
local calico = import "lib/calico.libsonnet";
|
||||||
|
local certmanager = import "lib/cert-manager.libsonnet";
|
||||||
|
local cockroachdb = import "lib/cockroachdb.libsonnet";
|
||||||
|
local coredns = import "lib/coredns.libsonnet";
|
||||||
local metallb = import "lib/metallb.libsonnet";
|
local metallb = import "lib/metallb.libsonnet";
|
||||||
|
local metrics = import "lib/metrics.libsonnet";
|
||||||
local nginx = import "lib/nginx.libsonnet";
|
local nginx = import "lib/nginx.libsonnet";
|
||||||
local rook = import "lib/rook.libsonnet";
|
local rook = import "lib/rook.libsonnet";
|
||||||
local certmanager = import "lib/cert-manager.libsonnet";
|
|
||||||
|
|
||||||
local Cluster(fqdn) = {
|
local Cluster(fqdn) = {
|
||||||
local cluster = self,
|
local cluster = self,
|
||||||
|
@ -86,77 +88,94 @@ local Cluster(fqdn) = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// waw1 ceph cluster
|
|
||||||
cephWaw1: rook.Cluster(cluster.rook, "ceph-waw1") {
|
|
||||||
spec: {
|
|
||||||
mon: {
|
|
||||||
count: 3,
|
|
||||||
allowMultiplePerNode: false,
|
|
||||||
},
|
|
||||||
storage: {
|
|
||||||
useAllNodes: false,
|
|
||||||
useAllDevices: false,
|
|
||||||
config: {
|
|
||||||
databaseSizeMB: "1024",
|
|
||||||
journalSizeMB: "1024",
|
|
||||||
},
|
|
||||||
nodes: [
|
|
||||||
{
|
|
||||||
name: "bc01n01.hswaw.net",
|
|
||||||
location: "rack=dcr01 chassis=bc01 host=bc01n01",
|
|
||||||
devices: [ { name: "sda" } ],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "bc01n02.hswaw.net",
|
|
||||||
location: "rack=dcr01 chassis=bc01 host=bc01n02",
|
|
||||||
devices: [ { name: "sda" } ],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "bc01n03.hswaw.net",
|
|
||||||
location: "rack=dcr01 chassis=bc01 host=bc01n03",
|
|
||||||
devices: [ { name: "sda" } ],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// redundant block storage
|
|
||||||
cephWaw1Redundant: rook.ECBlockPool(cluster.cephWaw1, "waw-hdd-redundant-1") {
|
|
||||||
spec: {
|
|
||||||
failureDomain: "host",
|
|
||||||
erasureCoded: {
|
|
||||||
dataChunks: 2,
|
|
||||||
codingChunks: 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// yolo block storage (no replicas!)
|
|
||||||
cephWaw1Yolo: rook.ReplicatedBlockPool(cluster.cephWaw1, "waw-hdd-yolo-1") {
|
|
||||||
spec: {
|
|
||||||
failureDomain: "host",
|
|
||||||
replicated: {
|
|
||||||
size: 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cephWaw1Object: rook.S3ObjectStore(cluster.cephWaw1, "waw-hdd-redundant-1-object") {
|
|
||||||
spec: {
|
|
||||||
metadataPool: {
|
|
||||||
failureDomain: "host",
|
|
||||||
replicated: { size: 3 },
|
|
||||||
},
|
|
||||||
dataPool: {
|
|
||||||
failureDomain: "host",
|
|
||||||
erasureCoded: {
|
|
||||||
dataChunks: 2,
|
|
||||||
codingChunks: 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
k0: Cluster("k0.hswaw.net"),
|
k0: {
|
||||||
|
local k0 = self,
|
||||||
|
cluster: Cluster("k0.hswaw.net"),
|
||||||
|
cockroach: {
|
||||||
|
waw1: cockroachdb.Cluster("crdb-waw1") {
|
||||||
|
cfg+: {
|
||||||
|
topology: [
|
||||||
|
{ name: "bc01n01", node: "bc01n01.hswaw.net", ip: "185.236.240.35" },
|
||||||
|
{ name: "bc01n02", node: "bc01n02.hswaw.net", ip: "185.236.240.36" },
|
||||||
|
{ name: "bc01n03", node: "bc01n03.hswaw.net", ip: "185.236.240.37" },
|
||||||
|
],
|
||||||
|
hostPath: "/var/db/crdb-waw1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
ceph: {
|
||||||
|
// waw1 cluster
|
||||||
|
waw1: rook.Cluster(k0.cluster.rook, "ceph-waw1") {
|
||||||
|
spec: {
|
||||||
|
mon: {
|
||||||
|
count: 3,
|
||||||
|
allowMultiplePerNode: false,
|
||||||
|
},
|
||||||
|
storage: {
|
||||||
|
useAllNodes: false,
|
||||||
|
useAllDevices: false,
|
||||||
|
config: {
|
||||||
|
databaseSizeMB: "1024",
|
||||||
|
journalSizeMB: "1024",
|
||||||
|
},
|
||||||
|
nodes: [
|
||||||
|
{
|
||||||
|
name: "bc01n01.hswaw.net",
|
||||||
|
location: "rack=dcr01 chassis=bc01 host=bc01n01",
|
||||||
|
devices: [ { name: "sda" } ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "bc01n02.hswaw.net",
|
||||||
|
location: "rack=dcr01 chassis=bc01 host=bc01n02",
|
||||||
|
devices: [ { name: "sda" } ],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "bc01n03.hswaw.net",
|
||||||
|
location: "rack=dcr01 chassis=bc01 host=bc01n03",
|
||||||
|
devices: [ { name: "sda" } ],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// redundant block storage
|
||||||
|
blockRedundant: rook.ECBlockPool(k0.ceph.waw1, "waw-hdd-redundant-1") {
|
||||||
|
spec: {
|
||||||
|
failureDomain: "host",
|
||||||
|
erasureCoded: {
|
||||||
|
dataChunks: 2,
|
||||||
|
codingChunks: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// yolo block storage (no replicas!)
|
||||||
|
blockYolo: rook.ReplicatedBlockPool(k0.ceph.waw1, "waw-hdd-yolo-1") {
|
||||||
|
spec: {
|
||||||
|
failureDomain: "host",
|
||||||
|
replicated: {
|
||||||
|
size: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
objectRedundant: rook.S3ObjectStore(k0.ceph.waw1, "waw-hdd-redundant-1-object") {
|
||||||
|
spec: {
|
||||||
|
metadataPool: {
|
||||||
|
failureDomain: "host",
|
||||||
|
replicated: { size: 3 },
|
||||||
|
},
|
||||||
|
dataPool: {
|
||||||
|
failureDomain: "host",
|
||||||
|
erasureCoded: {
|
||||||
|
dataChunks: 2,
|
||||||
|
codingChunks: 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue