{"id":5336,"date":"2018-06-18T05:59:02","date_gmt":"2018-06-18T12:59:02","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5336"},"modified":"2018-10-12T04:02:08","modified_gmt":"2018-10-12T11:02:08","slug":"couchbase-on-openshift-in-action","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-in-action\/","title":{"rendered":"Couchbase no OpenShift em a\u00e7\u00e3o"},"content":{"rendered":"<p><strong>OpenShift<\/strong>\u00a0\u00e9 uma plataforma como servi\u00e7o (PaaS) da Red Hat sobre cont\u00eaineres Docker e Kubernetes. \u00c9 uma plataforma de aplicativos de cont\u00eainer de c\u00f3digo aberto da Red Hat baseada em cont\u00eaineres do Docker e no gerenciador de cluster de cont\u00eaineres do Kubernetes para desenvolvimento e implanta\u00e7\u00e3o de aplicativos corporativos.<\/p>\n<p>O Operator do Couchbase tamb\u00e9m \u00e9 compat\u00edvel com o OpenShift. Agora, vamos ver como voc\u00ea pode aumentar e diminuir a escala rapidamente, recuperar-se de falhas ou at\u00e9 mesmo alterar a arquitetura do seu cluster com apenas alguns comandos de linha:<\/p>\n<p><iframe loading=\"lazy\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/v55ZQzJrVL0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<h2>Transcri\u00e7\u00e3o do v\u00eddeo:<\/h2>\n<h4><strong>C\u00f3digo<\/strong>:<\/h4>\n<pre class=\"lang:default decode:true\">https:\/\/github.com\/couchbaselabs\/kubernetes-starter-kit<\/pre>\n<h4>Pr\u00e9-requisitos<\/h4>\n<ul>\n<li><a href=\"https:\/\/docs.openshift.org\/latest\/minishift\/getting-started\/installing.html\">Minishift<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><strong>Iniciando o Minishift<\/strong><\/h3>\n<p>Para iniciar seu minishift, basta digitar o seguinte comando:<\/p>\n<pre class=\"lang:default decode:true\">In\u00edcio do minishift<\/pre>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5339\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.16.39-PM-1024x846.png\" alt=\"Starting Minishift\" width=\"596\" height=\"492\" \/><\/p>\n<p>Depois que ele for iniciado, execute o seguinte comando para adicionar <strong>oc<\/strong> em seu Classpath:<\/p>\n<pre class=\"lang:default decode:true\">eval $(minishift oc-env)<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5340\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.17.51-PM-1024x569.png\" alt=\"\" width=\"599\" height=\"333\" \/><\/p>\n<p><strong>\u00a0<\/strong>Al\u00e9m disso, voc\u00ea tamb\u00e9m pode incluir o seguinte complemento para poder acessar seu cluster como administrador:<\/p>\n<pre class=\"lang:default decode:true\">O complemento do minishift aplica o usu\u00e1rio administrador<\/pre>\n<p>Agora, para acessar o OpenShift, voc\u00ea pode usar o seguinte comando:<\/p>\n<pre class=\"lang:default decode:true\">oc login -u admin<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5341\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.22.47-PM-1024x375.png\" alt=\"\" width=\"613\" height=\"221\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Configura\u00e7\u00e3o do Minishift<\/strong><\/h3>\n<p><strong>\u00a0<\/strong>H\u00e1 algumas coisas que devem ser criadas antes de come\u00e7armos. Vou apenas listar todos os comandos necess\u00e1rios, mas voc\u00ea pode consultar a documenta\u00e7\u00e3o oficial <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/5.5\/operator\/installOpenShift.html\">aqui<\/a>.<\/p>\n<h4><strong>1 - Criar um projeto Openshift<\/strong><\/h4>\n<pre class=\"lang:default decode:true\">oc login -u developer\r\noc new-project operator-example\r\noc logout<\/pre>\n<h4><strong>2 - Criar uma nova defini\u00e7\u00e3o de recurso personalizado e fun\u00e7\u00e3o de cluster<\/strong><\/h4>\n<pre class=\"lang:default decode:true\">oc login -u admin\r\noc create -f https:\/\/packages.couchbase.com\/kubernetes\/0.8.1-beta2\/openshift\/crd.yaml\r\noc create -f https:\/\/packages.couchbase.com\/kubernetes\/0.8.1-beta2\/openshift\/cluster-role-sa.yaml\r\noc create -f https:\/\/packages.couchbase.com\/kubernetes\/0.8.1-beta2\/openshift\/cluster-role-user.yaml\r\n<\/pre>\n<h4><strong>3- Configura\u00e7\u00e3o do RBAC para um projeto OpenShift<\/strong><\/h4>\n<pre class=\"lang:default decode:true\">oc create serviceaccount couchbase-operator --namespace operator-example\r\noc create rolebinding couchbase-operator --clusterrole couchbase-operator --serviceaccount operator-example:couchbase-operator\r\noc adm policy add-scc-to-user anyuid system:serviceaccount:operator-example:couchbase-operator\r\noc create rolebinding couchbasecluster --clusterrole couchbasecluster --user developer --namespace operator-example\r\noc create clusterrolebinding couchbasecluster --clusterrole couchbasecluster --user developer<\/pre>\n<p>&nbsp;<\/p>\n<h3><strong>Implanta\u00e7\u00e3o do operador do Couchbase no OpenShift<\/strong><\/h3>\n<p><strong>\u00a0<\/strong><\/p>\n<p>Agora que j\u00e1 configuramos tudo, vamos implantar o Operator do Couchbase. Como mencionei em um <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/kubernetes-operators-game-changer\/\">postagem anterior do blog<\/a>No caso do Operador, ele \u00e9 respons\u00e1vel por automatizar parte do trabalho do DBA, como unir um novo n\u00f3 ao cluster, reequilibrar dados, consolidar registros etc.<\/p>\n<p>Voc\u00ea pode implementar o operador executando o seguinte comando:<\/p>\n<pre class=\"lang:default decode:true\">oc create -f https:\/\/packages.couchbase.com\/kubernetes\/0.8.1-beta2\/openshift\/operator.yaml<\/pre>\n<p>Execute o comando abaixo para verificar se a implementa\u00e7\u00e3o foi executada com \u00eaxito:<\/p>\n<pre class=\"lang:default decode:true\">oc get pods:<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5342\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-1024x88.png\" alt=\"\" width=\"619\" height=\"53\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-1024x88.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-300x26.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-768x66.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM-1320x114.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.32.54-PM.png 1372w\" sizes=\"auto, (max-width: 619px) 100vw, 619px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Implanta\u00e7\u00e3o do Couchbase no OpenShift<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>A implanta\u00e7\u00e3o do Couchbase no OpenShift \u00e9 quase igual \u00e0 implanta\u00e7\u00e3o do <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/databases-on-kubernetes\/\">implantando-o no Kubernetes<\/a>Voc\u00ea s\u00f3 precisa executar o seguinte comando dentro do diret\u00f3rio \"kubernetes\":<\/p>\n<pre class=\"lang:default decode:true\">oc create -f secret.yaml \/\/ crie o usu\u00e1rio e a senha que usaremos para fazer login no console da Web\r\noc create -f couchbase-cluster.yaml<\/pre>\n<p>Nosso arquivo yaml cont\u00e9m a especifica\u00e7\u00e3o do cluster, como o nome do bucket, o n\u00famero de servidores, servi\u00e7os etc:<\/p>\n<p><strong>secret.yaml<\/strong><\/p>\n<pre class=\"lang:yaml decode:true\">Vers\u00e3o da API: v1\r\nTipo: Secreto\r\nmetadados:\r\n  nome: cb-example-auth\r\ntype: Opaque\r\ndados:\r\n  nome de usu\u00e1rio: QWRtaW5pc3RyYXRvcg== #base64 para Administrador\r\n  senha: cGFzc3dvcmQ= #base64 para senha\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>couchbase-cluster.yaml<\/strong><\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: couchbase.database.couchbase.com\/v1beta1\r\nTipo: CouchbaseCluster\r\nmetadados:\r\n  nome: cb-example\r\nspec:\r\n  baseImage: couchbase\/server\r\n  vers\u00e3o: enterprise-5.0.1\r\n  authSecret: cb-example-auth\r\n  exposeAdminConsole: true\r\n  cluster:\r\n    dataServiceMemoryQuota: 256\r\n    indexServiceMemoryQuota: 256\r\n    searchServiceMemoryQuota: 256\r\n    indexStorageSetting: memory_optimized\r\n    autoFailoverTimeout: 30\r\n  buckets:\r\n    - nome: couchbase-sample\r\n      tipo: couchbase\r\n      memoryQuota: 128\r\n      r\u00e9plicas: 3\r\n      ioPriority: alta\r\n      evictionPolicy: fullEviction\r\n      conflictResolution: seqno\r\n      enableFlush: true\r\n      enableIndexReplica: false\r\n  servidores:\r\n    - size: 3\r\n      nome: all_services\r\n      servi\u00e7os:\r\n        - dados\r\n        - \u00edndice\r\n        - consulta\r\n        - pesquisa\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Consulte o <a href=\"https:\/\/docs.couchbase.com\/prerelease\/couchbase-operator\/beta\/couchbaseClusterConfig.html\">documenta\u00e7\u00e3o oficial<\/a> para entender a fun\u00e7\u00e3o de cada propriedade.<\/p>\n<p>No arquivo acima, especificamos que queremos 3 n\u00f3s, o que significa que devemos ter 3 n\u00f3s executando o Couchbase:<\/p>\n<pre class=\"lang:default decode:true\">oc get pods<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5343\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM-1024x178.png\" alt=\"\" width=\"692\" height=\"120\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM-1024x178.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM-300x52.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM-768x134.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.45.52-PM.png 1320w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Acesso ao seu banco de dados no OpenShift<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>H\u00e1 muitas maneiras de expor o console da Web ao mundo externo. Neste artigo, vamos simplesmente encaminhar a porta para a m\u00e1quina local com o seguinte comando:<\/p>\n<pre class=\"lang:default decode:true\">oc port-forward cb-example-0000 8091:8091<\/pre>\n<p>Agora, voc\u00ea deve conseguir acessar o Console da Web do Couchbase em sua m\u00e1quina local em\u00a0<a href=\"https:\/\/localhost:8091\/\">https:\/\/localhost:8091<\/a>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5211\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/Couchbase_Local-1024x444.png\" alt=\"\" width=\"812\" height=\"351\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-1024x444.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-300x130.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-768x333.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-1536x666.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local-1320x572.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/Couchbase_Local.png 2048w\" sizes=\"auto, (max-width: 812px) 100vw, 812px\" \/><\/p>\n<p>Observe que todos os n\u00f3s criados j\u00e1 fazem parte de um cluster. Tudo isso foi feito automaticamente pelo Operador do Couchbase.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5344\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-1024x228.png\" alt=\"\" width=\"900\" height=\"200\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-1024x228.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-300x67.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-768x171.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-1536x341.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM-1320x293.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.47.48-PM.png 2048w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Recupera\u00e7\u00e3o de uma falha no n\u00f3 do banco de dados no OpenShift<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Vamos eliminar uma de nossas inst\u00e2ncias para ver como o cluster se comporta:<\/p>\n<pre class=\"lang:default decode:true\">oc delete pod cb-example-0001<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5345\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM-1024x78.png\" alt=\"\" width=\"717\" height=\"55\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM-1024x78.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM-300x23.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM-768x58.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.50.24-PM.png 1186w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/p>\n<p>O Couchbase perceber\u00e1 imediatamente que um n\u00f3 \"<em>desapareceu<\/em>\" e o processo de recupera\u00e7\u00e3o ser\u00e1 iniciado. Conforme especificamos em\u00a0<strong>couchbase<\/strong><strong>-cluster.yaml<\/strong>\u00a0que sempre queremos 3 servidores em execu\u00e7\u00e3o, o Kubernetes iniciar\u00e1 uma nova inst\u00e2ncia\u00a0<strong>chamado cb-example-0004<\/strong>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5346\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-1024x509.png\" alt=\"\" width=\"721\" height=\"358\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-1024x509.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-300x149.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-768x381.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-1536x763.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-20x10.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM-1320x655.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.52.10-PM.png 2048w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Uma vez\u00a0<strong>cb<\/strong><strong>-exemplo-004<\/strong>\u00a0est\u00e1 ativo, o operador entra em a\u00e7\u00e3o para unir o n\u00f3 rec\u00e9m-criado ao cluster e, em seguida, aciona o rebalanceamento de dados<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5347\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-1024x194.png\" alt=\"\" width=\"553\" height=\"105\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-1024x194.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-300x57.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-768x146.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-1536x292.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM-1320x251.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-1.54.41-PM.png 1548w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Dimensionamento do Couchbase no Open Shift<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Se voc\u00ea acha que aumentar a escala de um banco de dados \u00e9 dif\u00edcil, deveria tentar reduzi-la. Felizmente, isso \u00e9 algo muito simples com o Couchbase e o OpenShift. Tudo o que voc\u00ea precisa \u00e9 alterar a configura\u00e7\u00e3o do cluster:<\/p>\n<p><strong>couchbase-cluster.yaml<\/strong><\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: couchbase.database.couchbase.com\/v1beta1\r\nTipo: CouchbaseCluster\r\nmetadados:\r\n  nome: cb-example\r\nspec:\r\n  baseImage: couchbase\/server\r\n  vers\u00e3o: enterprise-5.0.1\r\n  authSecret: cb-example-auth\r\n  exposeAdminConsole: true\r\n  cluster:\r\n    dataServiceMemoryQuota: 256\r\n    indexServiceMemoryQuota: 256\r\n    searchServiceMemoryQuota: 256\r\n    indexStorageSetting: memory_optimized\r\n    autoFailoverTimeout: 30\r\n  buckets:\r\n    - nome: couchbase-sample\r\n      tipo: couchbase\r\n      memoryQuota: 128\r\n      r\u00e9plicas: 3\r\n      ioPriority: alta\r\n      evictionPolicy: fullEviction\r\n      conflictResolution: seqno\r\n      enableFlush: true\r\n      enableIndexReplica: false\r\n  servidores:\r\n    - size: 1 \/\/alterado\r\n      nome: all_services\r\n      servi\u00e7os:\r\n        - data\r\n        - \u00edndice\r\n        - consulta\r\n        - pesquisa\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n<\/pre>\n<p>Em seguida, execute o seguinte comando para enviar sua altera\u00e7\u00e3o para o OpenShift:<\/p>\n<pre class=\"lang:default decode:true\">oc replace -f couchbase-cluster.yaml<\/pre>\n<p>No entanto, h\u00e1 um pequeno detalhe aqui, pois n\u00e3o podemos simplesmente eliminar dois n\u00f3s ao mesmo tempo sem algum risco de perda de dados. Para evitar esse problema, o operador reduz o cluster gradualmente, uma \u00fanica inst\u00e2ncia de cada vez, acionando o rebalanceamento para garantir que nenhum dado seja perdido durante o processo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-5348\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-1024x116.png\" alt=\"\" width=\"900\" height=\"102\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-1024x116.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-300x34.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-768x87.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-1536x173.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-20x2.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM-1320x149.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.00.16-PM.png 2048w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Dimensionamento do Couchbase no OpenShift<\/strong><\/h3>\n<p>&nbsp;<\/p>\n<p>Vamos aumentar a escala novamente para 3 n\u00f3s. Como voc\u00ea deve ter adivinhado, tudo o que precisamos fazer \u00e9 alterar a vari\u00e1vel\u00a0<strong>tamanho<\/strong>\u00a0par\u00e2metro em\u00a0<strong>couchbase<\/strong><strong>-cluster.yaml <\/strong>voltar para <strong>3<\/strong>:<\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: couchbase.database.couchbase.com\/v1beta1\r\nTipo: CouchbaseCluster\r\nmetadados:\r\n  nome: cb-example\r\nspec:\r\n  baseImage: couchbase\/server\r\n  vers\u00e3o: enterprise-5.0.1\r\n  authSecret: cb-example-auth\r\n  exposeAdminConsole: true\r\n  cluster:\r\n    dataServiceMemoryQuota: 256\r\n    indexServiceMemoryQuota: 256\r\n    searchServiceMemoryQuota: 256\r\n    indexStorageSetting: memory_optimized\r\n    autoFailoverTimeout: 30\r\n  buckets:\r\n    - nome: couchbase-sample\r\n      tipo: couchbase\r\n      memoryQuota: 128\r\n      r\u00e9plicas: 3\r\n      ioPriority: alta\r\n      evictionPolicy: fullEviction\r\n      conflictResolution: seqno\r\n      enableFlush: true\r\n      enableIndexReplica: false\r\n  servers:\r\n    - size: 3 \/\/voltar para 3 servidores\r\n      nome: all_services\r\n      servi\u00e7os:\r\n        - data\r\n        - \u00edndice\r\n        - consulta\r\n        - pesquisa\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n<\/pre>\n<p>Em seguida, atualizamos nossa configura\u00e7\u00e3o executando<\/p>\n<pre class=\"lang:default decode:true\">oc replace -f Couchbase-cluster.yaml<\/pre>\n<p>Ap\u00f3s alguns minutos, voc\u00ea ver\u00e1 que agora temos 3 n\u00f3s novamente:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5349\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-2.04.57-PM-1024x346.png\" alt=\"\" width=\"826\" height=\"275\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Escala multidimensional<\/strong><\/h3>\n<p>Voc\u00ea tamb\u00e9m pode aproveitar o dimensionamento multidimensional especificando os servi\u00e7os que deseja executar em cada n\u00f3:<\/p>\n<p><strong>couchbase-cluster.yaml \u00a0<\/strong><\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: couchbase.database.couchbase.com\/v1beta1\r\nTipo: CouchbaseCluster\r\nmetadados:\r\n  nome: cb-example\r\nspec:\r\n  baseImage: couchbase\/server\r\n  vers\u00e3o: enterprise-5.0.1\r\n  authSecret: cb-example-auth\r\n  exposeAdminConsole: true\r\n  cluster:\r\n    dataServiceMemoryQuota: 256\r\n    indexServiceMemoryQuota: 256\r\n    searchServiceMemoryQuota: 256\r\n    indexStorageSetting: memory_optimized\r\n    autoFailoverTimeout: 30\r\n  buckets:\r\n    - nome: couchbase-sample\r\n      tipo: couchbase\r\n      memoryQuota: 128\r\n      r\u00e9plicas: 3\r\n      ioPriority: alta\r\n      evictionPolicy: fullEviction\r\n      conflictResolution: seqno\r\n      enableFlush: true\r\n      enableIndexReplica: false\r\n  servidores:\r\n    - size: 2\r\n      nome: data_and_index\r\n      servi\u00e7os:\r\n        - data\r\n        - \u00edndice\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n    - tamanho: 1\r\n      nome: query_and_search\r\n      servi\u00e7os:\r\n        - query\r\n        - search\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n<\/pre>\n<p>Novamente, precisamos enviar nossas altera\u00e7\u00f5es para o OpenShift com o seguinte comando:<\/p>\n<pre class=\"lang:default decode:true\">oc replace -f couchbase-cluster.yaml<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5350\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM-1024x172.png\" alt=\"\" width=\"703\" height=\"118\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM-1024x172.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM-300x50.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM-768x129.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM-20x3.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/06\/Screen-Shot-2018-06-18-at-2.45.58-PM.png 1274w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Nesse cen\u00e1rio, tr\u00eas novos n\u00f3s ser\u00e3o criados: dois executando dados e \u00edndice e um executando pesquisa e consulta de texto completo<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5351\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/06\/Screen-Shot-2018-06-18-at-2.51.26-PM-1024x194.png\" alt=\"\" width=\"763\" height=\"145\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Conectando seu aplicativo ao Couchbase no OpenShift<\/strong><\/h3>\n<p>A implanta\u00e7\u00e3o de um aplicativo no OpenShift \u00e9 muito semelhante \u00e0 implanta\u00e7\u00e3o no Kubernetes. A principal diferen\u00e7a \u00e9 que voc\u00ea deve usar o <strong>oc<\/strong> em vez de usar <strong>kubectl<\/strong>. <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/elastic-microservices-with-kubernetes-and-spring-boot\/\">Este artigo<\/a> mostra um processo passo a passo de como fazer isso.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p>Se voc\u00ea tiver alguma d\u00favida, envie-me um tweet para\u00a0<a href=\"https:\/\/twitter.com\/deniswsrosa\">@deniswsrosa<\/a>\u00a0ou deixe um coment\u00e1rio abaixo.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Leia tamb\u00e9m:<\/h3>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/fuzzy-matching\/\">Correspond\u00eancia difusa<\/a><\/li>\n<li>\n<p class=\"entry-title\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/elastic-microservices-with-kubernetes-and-spring-boot\/\">Cria\u00e7\u00e3o de microsservi\u00e7os el\u00e1sticos com Kubernetes e Spring Boot desde o in\u00edcio<\/a><\/p>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>OpenShift\u00a0is a platform as a service (PaaS) from Red Hat on top of Docker containers and Kubernetes. It is an open source container application platform by Red Hat based on Docker containers and the Kubernetes container cluster manager for\u00a0enterprise app [&hellip;]<\/p>","protected":false},"author":8754,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[2022],"ppma_author":[9059],"class_list":["post-5336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","tag-openshift"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase on OpenShift in Action - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-in-action\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase on OpenShift in Action\" \/>\n<meta property=\"og:description\" content=\"OpenShift\u00a0is a platform as a service (PaaS) from Red Hat on top of Docker containers and Kubernetes. It is an open source container application platform by Red Hat based on Docker containers and the Kubernetes container cluster manager for\u00a0enterprise app [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-in-action\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-18T12:59:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-10-12T11:02:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@deniswsrosa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/\"},\"author\":{\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\"},\"headline\":\"Couchbase on OpenShift in Action\",\"datePublished\":\"2018-06-18T12:59:02+00:00\",\"dateModified\":\"2018-10-12T11:02:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/\"},\"wordCount\":841,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"openshift\"],\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/\",\"name\":\"Couchbase on OpenShift in Action - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-06-18T12:59:02+00:00\",\"dateModified\":\"2018-10-12T11:02:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase on OpenShift in Action\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\",\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"caption\":\"Denis Rosa, Developer Advocate, Couchbase\"},\"description\":\"Denis Rosa is a Developer Advocate for Couchbase and lives in Munich - Germany. He has a solid experience as a software engineer and speaks fluently Java, Python, Scala and Javascript. Denis likes to write about search, Big Data, AI, Microservices and everything else that would help developers to make a beautiful, faster, stable and scalable app.\",\"sameAs\":[\"https:\/\/x.com\/deniswsrosa\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/denis-rosa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase on OpenShift in Action - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-in-action\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase on OpenShift in Action","og_description":"OpenShift\u00a0is a platform as a service (PaaS) from Red Hat on top of Docker containers and Kubernetes. It is an open source container application platform by Red Hat based on Docker containers and the Kubernetes container cluster manager for\u00a0enterprise app [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-in-action\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-06-18T12:59:02+00:00","article_modified_time":"2018-10-12T11:02:08+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Denis Rosa, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@deniswsrosa","twitter_misc":{"Written by":"Denis Rosa, Developer Advocate, Couchbase","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/"},"author":{"name":"Denis Rosa, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257"},"headline":"Couchbase on OpenShift in Action","datePublished":"2018-06-18T12:59:02+00:00","dateModified":"2018-10-12T11:02:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/"},"wordCount":841,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["openshift"],"articleSection":["Couchbase Server"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/","name":"Couchbase on OpenShift in Action - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-06-18T12:59:02+00:00","dateModified":"2018-10-12T11:02:08+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-in-action\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase on OpenShift in Action"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257","name":"Denis Rosa, defensor dos desenvolvedores, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6","url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","caption":"Denis Rosa, Developer Advocate, Couchbase"},"description":"Denis Rosa \u00e9 um Developer Advocate do Couchbase e mora em Munique, na Alemanha. Ele tem uma s\u00f3lida experi\u00eancia como engenheiro de software e fala fluentemente Java, Python, Scala e Javascript. Denis gosta de escrever sobre pesquisa, Big Data, IA, microsservi\u00e7os e tudo o mais que possa ajudar os desenvolvedores a criar um aplicativo bonito, mais r\u00e1pido, est\u00e1vel e escal\u00e1vel.","sameAs":["https:\/\/x.com\/deniswsrosa"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/denis-rosa\/"}]}},"authors":[{"term_id":9059,"user_id":8754,"is_guest":0,"slug":"denis-rosa","display_name":"Denis Rosa, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","author_category":"","last_name":"Rosa, Developer Advocate, Couchbase","first_name":"Denis","job_title":"","user_url":"","description":"Denis Rosa \u00e9 um Developer Advocate do Couchbase e mora em Munique, na Alemanha. Ele tem uma s\u00f3lida experi\u00eancia como engenheiro de software e fala fluentemente Java, Python, Scala e Javascript. Denis gosta de escrever sobre pesquisa, Big Data, IA, microsservi\u00e7os e tudo o mais que possa ajudar os desenvolvedores a criar um aplicativo bonito, mais r\u00e1pido, est\u00e1vel e escal\u00e1vel."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/5336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/8754"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=5336"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/5336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=5336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=5336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=5336"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=5336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}