[ci skip] dbaas: add custom resource quota (12Gi req mem) to support 3-node MySQL cluster
This commit is contained in:
parent
5676ee746e
commit
da943c71ac
1 changed files with 58 additions and 5 deletions
|
|
@ -18,7 +18,24 @@ resource "kubernetes_namespace" "dbaas" {
|
||||||
metadata {
|
metadata {
|
||||||
name = "dbaas"
|
name = "dbaas"
|
||||||
labels = {
|
labels = {
|
||||||
tier = var.tier
|
tier = var.tier
|
||||||
|
"resource-governance/custom-quota" = "true"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_resource_quota" "dbaas" {
|
||||||
|
metadata {
|
||||||
|
name = "dbaas-quota"
|
||||||
|
namespace = kubernetes_namespace.dbaas.metadata[0].name
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
hard = {
|
||||||
|
"requests.cpu" = "8"
|
||||||
|
"requests.memory" = "12Gi"
|
||||||
|
"limits.cpu" = "32"
|
||||||
|
"limits.memory" = "64Gi"
|
||||||
|
pods = "30"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -60,7 +77,7 @@ resource "helm_release" "mysql_cluster" {
|
||||||
values = [yamlencode({
|
values = [yamlencode({
|
||||||
serverInstances = 3
|
serverInstances = 3
|
||||||
routerInstances = 1
|
routerInstances = 1
|
||||||
serverVersion = "9.2.0"
|
serverVersion = "8.4.4"
|
||||||
|
|
||||||
credentials = {
|
credentials = {
|
||||||
root = {
|
root = {
|
||||||
|
|
@ -102,6 +119,19 @@ resource "helm_release" "mysql_cluster" {
|
||||||
}
|
}
|
||||||
|
|
||||||
podSpec = {
|
podSpec = {
|
||||||
|
affinity = {
|
||||||
|
nodeAffinity = {
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution = {
|
||||||
|
nodeSelectorTerms = [{
|
||||||
|
matchExpressions = [{
|
||||||
|
key = "kubernetes.io/hostname"
|
||||||
|
operator = "NotIn"
|
||||||
|
values = ["k8s-node2"]
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
containers = [{
|
containers = [{
|
||||||
name = "mysql"
|
name = "mysql"
|
||||||
resources = {
|
resources = {
|
||||||
|
|
@ -115,6 +145,29 @@ resource "helm_release" "mysql_cluster" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
|
initContainers = [
|
||||||
|
{
|
||||||
|
name = "fixdatadir"
|
||||||
|
resources = {
|
||||||
|
requests = { memory = "64Mi", cpu = "25m" }
|
||||||
|
limits = { memory = "256Mi", cpu = "500m" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "initconf"
|
||||||
|
resources = {
|
||||||
|
requests = { memory = "256Mi", cpu = "50m" }
|
||||||
|
limits = { memory = "1Gi", cpu = "1" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name = "initmysql"
|
||||||
|
resources = {
|
||||||
|
requests = { memory = "512Mi", cpu = "250m" }
|
||||||
|
limits = { memory = "2Gi", cpu = "2" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
})]
|
})]
|
||||||
|
|
||||||
|
|
@ -132,9 +185,9 @@ resource "kubernetes_service" "mysql" {
|
||||||
spec {
|
spec {
|
||||||
publish_not_ready_addresses = true # bypass InnoDB Cluster readiness gate during partial failures
|
publish_not_ready_addresses = true # bypass InnoDB Cluster readiness gate during partial failures
|
||||||
selector = {
|
selector = {
|
||||||
"component" = "mysqld"
|
"component" = "mysqld"
|
||||||
"mysql.oracle.com/cluster" = "mysql-cluster"
|
"mysql.oracle.com/cluster" = "mysql-cluster"
|
||||||
"statefulset.kubernetes.io/pod-name" = "mysql-cluster-1" # pin to healthy primary until cluster recovers
|
"mysql.oracle.com/cluster-role" = "PRIMARY"
|
||||||
}
|
}
|
||||||
port {
|
port {
|
||||||
port = 3306
|
port = 3306
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue