1
0
Fork 0

cluster/kube: refactor, add crdb-waw1

master
q3k 2019-06-21 00:24:09 +02:00
parent e53e39a8be
commit c7258f4644
1 changed files with 91 additions and 72 deletions

View File

@ -1,13 +1,15 @@
# Top level cluster configuration.
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 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 metrics = import "lib/metrics.libsonnet";
local nginx = import "lib/nginx.libsonnet";
local rook = import "lib/rook.libsonnet";
local certmanager = import "lib/cert-manager.libsonnet";
local Cluster(fqdn) = {
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,
},
},
},
},
},
},
}