ForgeRock Directory Services 7.0 was a big achievement for the Grenoble Directory team. It is the only "Kubernetes native" directory where you can add a new replica using kubectl: kubectl scale sts/ds-idrepo --replicas=3 The 7.0 deployment is assembled using standard Kubernetes primitives such as StatefulSets , Persistent Volume Claims, and Services. This is all built and orchestrated using Skaffold and Kustomize . An emerging pattern in the Kubernetes world is the use of Custom Resources and Operators . Broadly speaking, a custom resource is the declaration of the desired system state, and the operator's job is to observe the current state and bring the system into alignment with the declared state: source: https://blog.container-solutions.com/kubernetes-operators-explained The Kubernetes API server (the thing that responds to your kubectl commands) can be extended to handle new custom types. A custom resource definition (CRD) describes to the API se...
Ansible is a really nice "dev-ops" automation tool in the spirit of Chef, Puppet, etc. It's virtues are simplicity, an "agentless" installation model and a very active and growing community . One of the neat features of Ansible is the concept of "roles". These are reusable chunks of dev-ops code that perform a specific task. Ansible "Playbooks" orchestrate a number of roles together to perform software installation and configuration. Roles by themselves are not sufficient to drive reusability. We need a way to collaborate and share roles. Enter Ansible Galaxy , the central repository for Ansible roles. If you have ever used apt or yum , galaxy will appear quite familiar. For example, to install and use the "opendj" role, you issue the following command: $ ansible-galaxy install warren.strange.opendj (Roles are prefixed with a contributor name to avoid name collisions). If you want to install ForgeRock's...
In the process of creating a demo VirtualBox image running OEL 6 and the Oracle database 11.2.0.3.0 I noticed the idle CPU consumption was quite high (8% on the guest, 35% on the host). The culprit turned out to be the Oracle database vktm process. This is a time keeping process - and it calls gettimeofday() *very* frequently. This can have a negative performance impact in virtualized environments. A colleague who is a database whiz suggested the following trick: sqlplus / as sysdba alter system set "_high_priority_processes"='LMS*' scope=spfile; This removes the vktm process from the list of high priority processes. After this change (you need to bounce the database) the idle CPU consumption comes down to 1-2% or so. A nice improvement! It goes without saying that this is: a) Totally unsupported b) Probably dangerous. This will most certainly break things in the database - such as statistics, auditing, etc. c) For demo/development use...
Comments