github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/mysql/mysql-manifest.yaml (about) 1 --- 2 apiVersion: v1 3 kind: Namespace 4 metadata: 5 name: mysql-system 6 labels: 7 app.kubernetes.io/name: mysql 8 app.kubernetes.io/instance: my-mysql 9 --- 10 # Source: mysql/templates/serviceaccount.yaml 11 apiVersion: v1 12 kind: ServiceAccount 13 metadata: 14 name: my-mysql 15 namespace: mysql-system 16 labels: 17 app.kubernetes.io/name: mysql 18 app.kubernetes.io/instance: my-mysql 19 secrets: 20 - name: my-mysql 21 --- 22 # Source: mysql/templates/secrets.yaml 23 apiVersion: v1 24 kind: Secret 25 metadata: 26 name: my-mysql 27 namespace: mysql-system 28 labels: 29 app.kubernetes.io/name: mysql 30 app.kubernetes.io/instance: my-mysql 31 type: Opaque 32 data: 33 mysql-root-password: "RWZuaWJiQzFaeQ==" 34 mysql-password: "dnR0TDlSaG1EbQ==" 35 mysql-replication-password: "NWd1MUxrU09Kdw==" 36 --- 37 # Source: mysql/templates/primary/configmap.yaml 38 apiVersion: v1 39 kind: ConfigMap 40 metadata: 41 name: my-mysql-primary 42 namespace: mysql-system 43 labels: 44 app.kubernetes.io/name: mysql 45 app.kubernetes.io/instance: my-mysql 46 app.kubernetes.io/component: primary 47 data: 48 my.cnf: |- 49 50 [mysqld] 51 default_authentication_plugin=mysql_native_password 52 skip-name-resolve 53 explicit_defaults_for_timestamp 54 basedir=/opt/bitnami/mysql 55 plugin_dir=/opt/bitnami/mysql/lib/plugin 56 port=3306 57 socket=/opt/bitnami/mysql/tmp/mysql.sock 58 datadir=/bitnami/mysql/data 59 tmpdir=/opt/bitnami/mysql/tmp 60 max_allowed_packet=16M 61 bind-address=0.0.0.0 62 pid-file=/opt/bitnami/mysql/tmp/mysqld.pid 63 log-error=/opt/bitnami/mysql/logs/mysqld.log 64 character-set-server=UTF8 65 collation-server=utf8_general_ci 66 67 [client] 68 port=3306 69 socket=/opt/bitnami/mysql/tmp/mysql.sock 70 default-character-set=UTF8 71 plugin_dir=/opt/bitnami/mysql/lib/plugin 72 73 [manager] 74 port=3306 75 socket=/opt/bitnami/mysql/tmp/mysql.sock 76 pid-file=/opt/bitnami/mysql/tmp/mysqld.pid 77 --- 78 # Source: mysql/templates/secondary/configmap.yaml 79 apiVersion: v1 80 kind: ConfigMap 81 metadata: 82 name: my-mysql-secondary 83 namespace: mysql-system 84 labels: 85 app.kubernetes.io/name: mysql 86 app.kubernetes.io/instance: my-mysql 87 app.kubernetes.io/component: secondary 88 data: 89 my.cnf: |- 90 91 [mysqld] 92 default_authentication_plugin=mysql_native_password 93 skip-name-resolve 94 explicit_defaults_for_timestamp 95 basedir=/opt/bitnami/mysql 96 port=3306 97 socket=/opt/bitnami/mysql/tmp/mysql.sock 98 datadir=/bitnami/mysql/data 99 tmpdir=/opt/bitnami/mysql/tmp 100 max_allowed_packet=16M 101 bind-address=0.0.0.0 102 pid-file=/opt/bitnami/mysql/tmp/mysqld.pid 103 log-error=/opt/bitnami/mysql/logs/mysqld.log 104 character-set-server=UTF8 105 collation-server=utf8_general_ci 106 107 [client] 108 port=3306 109 socket=/opt/bitnami/mysql/tmp/mysql.sock 110 default-character-set=UTF8 111 112 [manager] 113 port=3306 114 socket=/opt/bitnami/mysql/tmp/mysql.sock 115 pid-file=/opt/bitnami/mysql/tmp/mysqld.pid 116 --- 117 # Source: mysql/templates/primary/svc-headless.yaml 118 apiVersion: v1 119 kind: Service 120 metadata: 121 name: my-mysql-primary-headless 122 namespace: mysql-system 123 labels: 124 app.kubernetes.io/name: mysql 125 app.kubernetes.io/instance: my-mysql 126 app.kubernetes.io/component: primary 127 spec: 128 type: ClusterIP 129 clusterIP: None 130 publishNotReadyAddresses: true 131 ports: 132 - name: mysql 133 port: 3306 134 targetPort: mysql 135 selector: 136 app.kubernetes.io/name: mysql 137 app.kubernetes.io/instance: my-mysql 138 app.kubernetes.io/component: primary 139 --- 140 # Source: mysql/templates/primary/svc.yaml 141 apiVersion: v1 142 kind: Service 143 metadata: 144 name: my-mysql-primary 145 namespace: mysql-system 146 labels: 147 app.kubernetes.io/name: mysql 148 app.kubernetes.io/instance: my-mysql 149 app.kubernetes.io/component: primary 150 spec: 151 type: ClusterIP 152 ports: 153 - name: mysql 154 port: 3306 155 protocol: TCP 156 targetPort: mysql 157 selector: 158 app.kubernetes.io/name: mysql 159 app.kubernetes.io/instance: my-mysql 160 app.kubernetes.io/component: primary 161 --- 162 # Source: mysql/templates/secondary/svc-headless.yaml 163 apiVersion: v1 164 kind: Service 165 metadata: 166 name: my-mysql-secondary-headless 167 namespace: mysql-system 168 labels: 169 app.kubernetes.io/name: mysql 170 app.kubernetes.io/instance: my-mysql 171 app.kubernetes.io/component: secondary 172 spec: 173 type: ClusterIP 174 clusterIP: None 175 publishNotReadyAddresses: true 176 ports: 177 - name: mysql 178 port: 3306 179 targetPort: mysql 180 selector: 181 app.kubernetes.io/name: mysql 182 app.kubernetes.io/instance: my-mysql 183 app.kubernetes.io/component: secondary 184 --- 185 # Source: mysql/templates/secondary/svc.yaml 186 apiVersion: v1 187 kind: Service 188 metadata: 189 name: my-mysql-secondary 190 namespace: mysql-system 191 labels: 192 app.kubernetes.io/name: mysql 193 app.kubernetes.io/instance: my-mysql 194 app.kubernetes.io/component: secondary 195 spec: 196 type: ClusterIP 197 ports: 198 - name: mysql 199 port: 3306 200 protocol: TCP 201 targetPort: mysql 202 selector: 203 app.kubernetes.io/name: mysql 204 app.kubernetes.io/instance: my-mysql 205 app.kubernetes.io/component: secondary 206 --- 207 # Source: mysql/templates/primary/statefulset.yaml 208 apiVersion: apps/v1 209 kind: StatefulSet 210 metadata: 211 name: my-mysql-primary 212 namespace: mysql-system 213 labels: 214 app.kubernetes.io/name: mysql 215 app.kubernetes.io/instance: my-mysql 216 app.kubernetes.io/component: primary 217 spec: 218 replicas: 1 219 selector: 220 matchLabels: 221 app.kubernetes.io/name: mysql 222 app.kubernetes.io/instance: my-mysql 223 app.kubernetes.io/component: primary 224 serviceName: my-mysql-primary 225 updateStrategy: 226 type: RollingUpdate 227 template: 228 metadata: 229 annotations: 230 checksum/configuration: f85346c5341cc96a7a79636cb39ddba62548beb8f3c80220f5ca61f7b5e2d038 231 labels: 232 app.kubernetes.io/name: mysql 233 app.kubernetes.io/instance: my-mysql 234 app.kubernetes.io/component: primary 235 spec: 236 serviceAccountName: my-mysql 237 affinity: 238 podAntiAffinity: 239 preferredDuringSchedulingIgnoredDuringExecution: 240 - podAffinityTerm: 241 labelSelector: 242 matchLabels: 243 app.kubernetes.io/name: mysql 244 app.kubernetes.io/instance: my-mysql 245 app.kubernetes.io/component: primary 246 namespaces: 247 - "mysql-system" 248 topologyKey: kubernetes.io/hostname 249 weight: 1 250 securityContext: 251 fsGroup: 1001 252 containers: 253 - name: mysql 254 image: docker.io/bitnami/mysql:8.0.26-debian-10-r10 255 imagePullPolicy: "IfNotPresent" 256 securityContext: 257 runAsUser: 1001 258 env: 259 - name: BITNAMI_DEBUG 260 value: "false" 261 - name: MYSQL_ROOT_PASSWORD 262 valueFrom: 263 secretKeyRef: 264 name: my-mysql 265 key: mysql-root-password 266 - name: MYSQL_DATABASE 267 value: "my_database" 268 - name: MYSQL_REPLICATION_MODE 269 value: "master" 270 - name: MYSQL_REPLICATION_USER 271 value: "replicator" 272 - name: MYSQL_REPLICATION_PASSWORD 273 valueFrom: 274 secretKeyRef: 275 name: my-mysql 276 key: mysql-replication-password 277 ports: 278 - name: mysql 279 containerPort: 3306 280 livenessProbe: 281 failureThreshold: 3 282 initialDelaySeconds: 5 283 periodSeconds: 10 284 successThreshold: 1 285 timeoutSeconds: 1 286 exec: 287 command: 288 - /bin/bash 289 - -ec 290 - | 291 password_aux="${MYSQL_ROOT_PASSWORD:-}" 292 if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then 293 password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE") 294 fi 295 mysqladmin status -uroot -p"${password_aux}" 296 readinessProbe: 297 failureThreshold: 3 298 initialDelaySeconds: 5 299 periodSeconds: 10 300 successThreshold: 1 301 timeoutSeconds: 1 302 exec: 303 command: 304 - /bin/bash 305 - -ec 306 - | 307 password_aux="${MYSQL_ROOT_PASSWORD:-}" 308 if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then 309 password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE") 310 fi 311 mysqladmin status -uroot -p"${password_aux}" 312 startupProbe: 313 failureThreshold: 10 314 initialDelaySeconds: 15 315 periodSeconds: 10 316 successThreshold: 1 317 timeoutSeconds: 1 318 exec: 319 command: 320 - /bin/bash 321 - -ec 322 - | 323 password_aux="${MYSQL_ROOT_PASSWORD:-}" 324 if [[ -f "${MYSQL_ROOT_PASSWORD_FILE:-}" ]]; then 325 password_aux=$(cat "$MYSQL_ROOT_PASSWORD_FILE") 326 fi 327 mysqladmin status -uroot -p"${password_aux}" 328 resources: 329 limits: { } 330 requests: { } 331 volumeMounts: 332 - name: data 333 mountPath: /bitnami/mysql 334 - name: config 335 mountPath: /opt/bitnami/mysql/conf/my.cnf 336 subPath: my.cnf 337 volumes: 338 - name: config 339 configMap: 340 name: my-mysql-primary 341 volumeClaimTemplates: 342 - metadata: 343 name: data 344 labels: 345 app.kubernetes.io/name: mysql 346 app.kubernetes.io/instance: my-mysql 347 app.kubernetes.io/component: primary 348 spec: 349 accessModes: 350 - "ReadWriteOnce" 351 resources: 352 requests: 353 storage: "80Gi" 354 storageClassName: openebs-jiva-csi-sc 355 --- 356 # Source: mysql/templates/secondary/statefulset.yaml 357 apiVersion: apps/v1 358 kind: StatefulSet 359 metadata: 360 name: my-mysql-secondary 361 namespace: mysql-system 362 labels: 363 app.kubernetes.io/name: mysql 364 app.kubernetes.io/instance: my-mysql 365 app.kubernetes.io/component: secondary 366 spec: 367 replicas: 1 368 selector: 369 matchLabels: 370 app.kubernetes.io/name: mysql 371 app.kubernetes.io/instance: my-mysql 372 app.kubernetes.io/component: secondary 373 serviceName: my-mysql-secondary 374 updateStrategy: 375 type: RollingUpdate 376 template: 377 metadata: 378 annotations: 379 checksum/configuration: 596f59f44d599592de8d355e3bdde90fc33342820324c49e54365aa43419c3e2 380 labels: 381 app.kubernetes.io/name: mysql 382 app.kubernetes.io/instance: my-mysql 383 app.kubernetes.io/component: secondary 384 spec: 385 serviceAccountName: my-mysql 386 affinity: 387 podAntiAffinity: 388 preferredDuringSchedulingIgnoredDuringExecution: 389 - podAffinityTerm: 390 labelSelector: 391 matchLabels: 392 app.kubernetes.io/name: mysql 393 app.kubernetes.io/instance: my-mysql 394 app.kubernetes.io/component: secondary 395 namespaces: 396 - "mysql-system" 397 topologyKey: kubernetes.io/hostname 398 weight: 1 399 securityContext: 400 fsGroup: 1001 401 containers: 402 - name: mysql 403 image: docker.io/bitnami/mysql:8.0.26-debian-10-r10 404 imagePullPolicy: "IfNotPresent" 405 securityContext: 406 runAsUser: 1001 407 env: 408 - name: BITNAMI_DEBUG 409 value: "false" 410 - name: MYSQL_REPLICATION_MODE 411 value: "slave" 412 - name: MYSQL_MASTER_HOST 413 value: my-mysql-primary 414 - name: MYSQL_MASTER_PORT_NUMBER 415 value: "3306" 416 - name: MYSQL_MASTER_ROOT_USER 417 value: "root" 418 - name: MYSQL_REPLICATION_USER 419 value: "replicator" 420 - name: MYSQL_MASTER_ROOT_PASSWORD 421 valueFrom: 422 secretKeyRef: 423 name: my-mysql 424 key: mysql-root-password 425 - name: MYSQL_REPLICATION_PASSWORD 426 valueFrom: 427 secretKeyRef: 428 name: my-mysql 429 key: mysql-replication-password 430 ports: 431 - name: mysql 432 containerPort: 3306 433 livenessProbe: 434 failureThreshold: 3 435 initialDelaySeconds: 5 436 periodSeconds: 10 437 successThreshold: 1 438 timeoutSeconds: 1 439 exec: 440 command: 441 - /bin/bash 442 - -ec 443 - | 444 password_aux="${MYSQL_MASTER_ROOT_PASSWORD:-}" 445 if [[ -f "${MYSQL_MASTER_ROOT_PASSWORD_FILE:-}" ]]; then 446 password_aux=$(cat "$MYSQL_MASTER_ROOT_PASSWORD_FILE") 447 fi 448 mysqladmin status -uroot -p"${password_aux}" 449 readinessProbe: 450 failureThreshold: 3 451 initialDelaySeconds: 5 452 periodSeconds: 10 453 successThreshold: 1 454 timeoutSeconds: 1 455 exec: 456 command: 457 - /bin/bash 458 - -ec 459 - | 460 password_aux="${MYSQL_MASTER_ROOT_PASSWORD:-}" 461 if [[ -f "${MYSQL_MASTER_ROOT_PASSWORD_FILE:-}" ]]; then 462 password_aux=$(cat "$MYSQL_MASTER_ROOT_PASSWORD_FILE") 463 fi 464 mysqladmin status -uroot -p"${password_aux}" 465 startupProbe: 466 failureThreshold: 15 467 initialDelaySeconds: 15 468 periodSeconds: 10 469 successThreshold: 1 470 timeoutSeconds: 1 471 exec: 472 command: 473 - /bin/bash 474 - -ec 475 - | 476 password_aux="${MYSQL_MASTER_ROOT_PASSWORD:-}" 477 if [[ -f "${MYSQL_MASTER_ROOT_PASSWORD_FILE:-}" ]]; then 478 password_aux=$(cat "$MYSQL_MASTER_ROOT_PASSWORD_FILE") 479 fi 480 mysqladmin status -uroot -p"${password_aux}" 481 resources: 482 limits: { } 483 requests: { } 484 volumeMounts: 485 - name: data 486 mountPath: /bitnami/mysql 487 - name: config 488 mountPath: /opt/bitnami/mysql/conf/my.cnf 489 subPath: my.cnf 490 volumes: 491 - name: config 492 configMap: 493 name: my-mysql-secondary 494 volumeClaimTemplates: 495 - metadata: 496 name: data 497 labels: 498 app.kubernetes.io/name: mysql 499 app.kubernetes.io/instance: my-mysql 500 app.kubernetes.io/component: secondary 501 spec: 502 accessModes: 503 - "ReadWriteOnce" 504 resources: 505 requests: 506 storage: "80Gi" 507 storageClassName: openebs-jiva-csi-sc