At my work, we try to automate almost everything. We're using Docker to containerize our in-house developed software and are running these containers on CentOS 7 machines. When you're using a modern CentOS 7 version, the XFS filesystems are configured correctly with d_type support activated. But when you want to run Docker containers on an older version of CentOS 7, d_type support could be disabled causing a lot of trouble when you're chowning and chmoding files in a container: files are not found or skipped, etc.
Officially, GitLab doesn't support RBAC enabled Kubernetes clusters yet, but with some manual configuration, it is possible to integrate your Kubernetes cluster into Gitlab with RBAC enabled.
Caution: The configurations in this blog post adds cluster administrative access to your GitLab server. Unfortunately, GitLab 11 needs this access to query the cluster and install applications on it.
Database servers and clusters should be backed up regularly to prevent data loss when an error or disaster occurs. You can backup database servers logically using mysqldump, but you can also backup databases physically using Percona XtraBackup. XtraBackup enables you to run full and incremental backups, stream backups, compress and encrypt backups. TwinDB has simplified the usage of Xtrabackup and will automatically backup your Percona XtraDB cluster on an hourly basis.
In high-available production environments like a Software-as-a-Service Cloud environment, you have to minimize any kind of downtime as much as possible. In most cases, an application needs at least a database server. If this database server gets unavailable, the application won't function anymore. In this case, the database software is your most critical SPOF to resolve. Percona XtraDB cluster can help you to eliminate this SPOF by setting up a master-master HA cluster.
In Kubernetes it is possible to use Persistent Volumes to add persistent storage to your Docker containers. When creating a Persistent Volume (Claim) you have to configure a storage type and storage capacity. When your application gets successful and your storage exceeds the limits, you have to extend the volume or create a new persistent volume. The latter isn't a feasible solution in a production environment, but extending a persistent volume isn't supported out-of-the-box in Kubernetes. There is a solution though! Extending the volume outside Kubernetes!
Generating certificate signing requests (CSR), certificates and keys can be a hassle. CloudFlare introduced the CFSSL and CFSSLJSON tools to make this a lot easier for all of us!