Skip to content

Instantly share code, notes, and snippets.

View chrisedrego's full-sized avatar
💭
ḃ̷̮͔͖̮̤̪͐̉̈́͂͝u̴̥͔͆̏̋̈̈́͌̔̄ī̸͚̓̐̂̏l̸̡̥̰̙̰̟͐̈̓̔͌̂̇̔̾̾d̴̪͉̟͍̟͇̳̗̊̀

chrisedrego chrisedrego

💭
ḃ̷̮͔͖̮̤̪͐̉̈́͂͝u̴̥͔͆̏̋̈̈́͌̔̄ī̸͚̓̐̂̏l̸̡̥̰̙̰̟͐̈̓̔͌̂̇̔̾̾d̴̪͉̟͍̟͇̳̗̊̀
View GitHub Profile
@chrisedrego
chrisedrego / tcp-services.yaml
Created September 18, 2020 19:54
Ingress TCP Configuration for MYSQL
apiVersion: v1
data:
"3306": mysql/mysql-service:3306
kind: ConfigMap
metadata:
name: tcp-services
namespace: ingress-nginx
@chrisedrego
chrisedrego / mysql-ingress.yaml
Last active October 26, 2020 07:33
Ingress defintion for mysql
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/server-alias: mysql.<YOUR_DOMAIN>.com
labels:
app: mysql
name: mysql
@chrisedrego
chrisedrego / mycluster-secret.yaml
Last active September 24, 2020 08:43
MyCluster secrets which contains the credentials
apiVersion: v1
kind: Secret
metadata:
name: mycluster-secret
type: Opaque
data:
ROOT_PASSWORD: "Y2hhbmdlbWU="
@chrisedrego
chrisedrego / mycluster-standalone.yaml
Last active September 24, 2020 08:58
Standalone mycluster
apiVersion: mysql.presslabs.org/v1alpha1
kind: MysqlCluster
metadata:
name: mycluster-standalone
spec:
mysqlVersion: "5.7"
replicas: 1
secretName: mycluster-secret
@chrisedrego
chrisedrego / mycluster.yaml
Last active October 3, 2020 16:03
MYSQL Highly Available Cluster
apiVersion: v1
kind: Secret
metadata:
name: MyCluster-Secret
type: Opaque
data:
ROOT_PASSWORD: "Y2hhbmdtZQ=="
---
apiVersion: mysql.presslabs.org/v1alpha1
kind: MysqlCluster
@chrisedrego
chrisedrego / install-helm.sh
Created October 3, 2020 12:12
Installation of MYSQL Operator Presslabs
helm repo add presslabs https://presslabs.github.io/charts
helm update
# (helm v2)
helm install presslabs/mysql-operator --name mysql-operator --create-namespace
# (helm v3)
helm install mysql-operator presslabs/mysql-operator -n mysql-operator --create-namespace
@chrisedrego
chrisedrego / mycluster-backup-secret.yaml
Last active October 4, 2020 04:15
Backup Secret for MYSQL Cluster Object Storage
apiVersion: v1
data:
AWS_ACCESS_KEY_ID: #
AWS_SECRET_ACCESS_KEY: #
AWS_REGION: #
S3_PROVIDER: #
AZUREBLOB_ACCOUNT: #
AZUREBLOB_KEY: #
apiVersion: mysql.presslabs.org/v1alpha1
kind: MysqlBackup
metadata:
name: mycluster-backup
spec:
clusterName: mycluster
backupURL: s3://<NAME_OF_S3_BUCKET>
backupSecretName: mycluster-backup-secret
@chrisedrego
chrisedrego / mycluster-scheduled-backup.yaml
Last active October 4, 2020 05:11
MYSQL Cluster Scheduled/ Recurring Backups
apiVersion: mysql.presslabs.org/v1alpha1
kind: MysqlCluster
metadata:
name: scheduled-mysqlcluster
spec:
secretName: mycluster-secret # contains Database credentials
backupSchedule: "0 0 0 * * *" # Cron Expression to run dialy backup
backupURL: s3://<S3_BUCKET_NAME> # S3 Endpoint to store the backup
backupSecretName: mycluster-backup-seceret # Contains Authentication details for Storage Provider
backupRemoteDeletePolicy: retain|delete # Backup Retention Policy
apiVersion: mysql.presslabs.org/v1alpha1
kind: MysqlCluster
metadata:
name: mycluster-restored
spec:
mysqlVersion: "5.7"
replicas: 1
secretName: mycluster-secret
initBucketURL: s3://<S3_BUCKET_NAME>/mycluster-backup.xbackup.gz
initBucketSecretName: mycluster-backup-secret