OpenShift é a plataforma PaaS de código aberto da Red Hat. OpenShift 3 fornece uma experiência holística de execução de seus aplicativos usando o Docker e o Kubernetes. Em um estilo clássico da Red Hat, todo o trabalho é feito no código aberto em Origem do OpenShift. Isso também impulsiona a próxima versão principal do OpenShift Online e OpenShift Enterprise.
O OpenShift 3, que usa o Docker e o Kubernetes para orquestração de contêineres, simplifica muito a execução de qualquer produto que tenha uma imagem do Docker com o mínimo de esforço. Este blog explica como começar a usar o Couchbase no OpenShift 3.
Primeiros passos com o OpenShift 3
- Faça o download da versão mais recente Caixa Vagrant (1,1 no momento da redação deste texto) e Vagrantfile de: openshift.org/vm/. Copie-os no mesmo diretório.
O Vagrantfile está configurado para 2 GB de memória e pode ser atualizado se você precisar executar mais contêineres. O OpenShift Master, o Node, o Docker Registry e outros componentes são executados dentro da VM.
Este blog foi escrito usando o Vagrant 1.7.4 e o VirtualBox 5.0.10r104061.
- Adicione a Vagrant Box:
12345vagabundo caixa adicionar --nome openshift3 openshift-bootstrap-1.1.box==> caixa: Caixa arquivo foi não detectado como metadados. Adição ele diretamente...==> caixa: Adição caixa 'openshift3' (v0) para provedor:caixa: Desembalagem necessário arquivos de: arquivo:///Usuários/arungupta/tools/openshiftv3/1.1/openshift-bootstrap-1.1.box==> caixa: Com sucesso adicionado caixa 'openshift3' (v0) para 'caixa virtual'!
- Inicie a máquina virtual:
12345678910111213141516171819202122232425262728293031vagabundo para cimaTrazendo máquina 'padrão' para cima com 'caixa virtual' provedor...==> padrão: Configuração o nome de o VM: openshift3==> padrão: Limpeza qualquer anteriormente definir rede interfaces...==> padrão: Preparação rede interfaces com base em configuração...padrão: Adaptador 1: nat==> padrão: Encaminhamento portos...padrão: 80 => 1080 (adaptador 1)padrão: 443 => 1443 (adaptador 1)padrão: 5000 => 5000 (adaptador 1)padrão: 8080 => 8080 (adaptador 1)padrão: 8443 => 8443 (adaptador 1)padrão: 22 => 2222 (adaptador 1)==> padrão: Em execução 'pré-inicialização' VM personalizações...==> padrão: Inicialização VM...==> padrão: Em espera para máquina para inicialização. Isso pode tomar a poucos minutos...padrão: SSH endereço: 127.0.0.1:2222padrão: SSH nome de usuário: vagabundopadrão: SSH autenticação método: privado chavepadrão: Advertência: Conexão tempo limite. Repetição de tentativas...==> padrão: Máquina inicializado e pronto!==> padrão: Verificação para convidado adições em VM...padrão: O convidado adições em este VM fazer não partida o instalado versão depadrão: VirtualBox! Em mais casos este é bom, mas em raro casos ele podepadrão: prevenir coisas tais como compartilhada pastas de de trabalho corretamente. Se você verpadrão: compartilhada pasta erros, por favor fazer com certeza o convidado adições dentro de opadrão: virtual máquina partida o versão de VirtualBox você ter instalado empadrão: seu hospedeiro e recarregar seu VM.padrão:padrão: Convidado Adições Versão: 4.3.20padrão: VirtualBox Versão: 5.0
Download e configuração do cliente OpenShift 3
- Baixar Ferramentas de cliente Mac de 64 bits (
gem install rhc
é apenas para a v2) de openshift.org/vm/ e extraí-los em um diretório. A listagem tem a seguinte aparência:1234567891011alcatrão xzvf ~/Downloads/openshift-origem-v1.1-ac7a99a-Darwin-amd64.alcatrão.gzx ./x ./oadmx ./cubo-programadorx ./cubetax ./cubo-apiserverx ./openshiftx ./cubo-controlador-gerentex ./cubo-proxyx ./ocx ./kubectl - Verifique a versão do cliente:
123./oc versãooc v1.1kubernetes v1.1.0-origem-1107-g4c8e6f4
- Remover
~/.kube/config
ou renomear para outra coisa. - Faça login no OpenShift:
12345678910111213141516171819./oc loginServidor [https://localhost:8443]:O servidor usos a certificado assinado por e desconhecido autoridade.Você pode desvio o certificado verificar, mas qualquer dados você enviar para o servidor poderia ser interceptado por outros.Uso inseguro conexões? (y/n): yAutenticação necessário para https://localhost:8443 (openshift)Nome de usuário: administradorSenha:Login bem-sucedido.Você ter acesso para o seguintes projetos e pode interruptor entre eles com 'oc projeto ':* padrão (atual)* openshift* turboUsando projeto "default".Bem-vindo! Veja 'oc ajuda' para obter iniciado.
Criar um aplicativo Couchbase no OpenShift 3
- Crie uma nova instância do Couchbase:
1234567891011./oc novo-aplicativo arungupta/couchbase--> Encontrado Docker imagem 9131c5a (2 dias antigo) de Docker Hub para "arungupta/couchbase"* Um imagem fluxo vontade ser criado como "couchbase:latest" que vontade trilha este imagem* Isso imagem vontade ser implantado em implantação configuração "couchbase"* Portos 11207/tcp, 11210/tcp, 11211/tcp, 18091/tcp, 18092/tcp, 8091/tcp, 8092/tcp, 8093/tcp vontade ser carregar equilibrado por serviço "couchbase"--> Criação de recursos com rótulo aplicativo=couchbase ...Fluxo de imagem "couchbase" criadoDeploymentConfig "couchbase" criadoServiço "couchbase" criado--> SucessoExecutar 'oc status' para visualização seu aplicativo.
arungupta/couchbase
é usado porque usa API REST do Couchbase para pré-configurar o servidor Couchbase:- Cota de memória e índice
- Serviço de consulta, dados e índice
- Credenciais de nome de usuário e senha
- Instalar
amostra de viagem
balde
Esse bucket de amostra será usado posteriormente para consulta de dados.
- Verifique o status da implantação:
123456789101112131415161718192021222324./oc statusEm projeto padrão em servidor https://localhost:8443serviço/couchbase - 172.30.84.134 portos 8091, 8092, 8093, 11207, 11210, 11211, 18091, 18092dc/couchbase implementa etiqueta de fluxo de imagem/couchbase:mais recente#1 implantado há aproximadamente um minuto - 1 podserviço/doca-registro - 172.30.236.154:5000dc/doca-registro implementa doca.io/openshift/origem-doca-registro:v1.1#1 implantado há 4 semanas - 1 podserviço/kubernetes - 172.30.0.1 portos 443, 53, 53serviço/roteador - 172.30.233.69:80dc/roteador implementa doca.io/openshift/origem-haproxy-roteador:v1.1#1 implantado há 4 semanas - 1 podAvisos:* contêiner "registro" em cápsula/doca-registro-1-imxqp tem reiniciado 5 horários* contêiner "openshift-registry-proxy-1" em cápsula/openshift-registro-proxy tem reiniciado 3 horários* contêiner "roteador" em cápsula/roteador-1-5grim tem reiniciado 5 horáriosPara ver mais, uso 'oc descrever /'.Você pode uso 'oc obter todos' para ver a lista de outros objetos.
- Encontre a lista de Pods:
123456cliente > ./oc obter poNOME PRONTO STATUS RESTARTS IDADEcouchbase-1-5zhju 1/1 Em execução 0 1ddoca-registro-1-imxqp 1/1 Em execução 5 32dopenshift-registro-proxy 1/1 Em execução 3 32droteador-1-5grim 1/1 Em execução 5 32d
- Obtenha mais detalhes sobre o pod do Couchbase:
123456789101112131415161718192021222324252627282930313233343536./oc descrever po couchbase-1-5zhjuNome: couchbase-1-5zhjuNamespace: padrãoImagem(s): arungupta/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959fNó: localhost.domínio local/10.0.2.15Início Tempo: Sábado, 19 Dez 2015 08:19:31 -0800Rótulos: aplicativo=couchbase,implantação=couchbase-1,configuração de implantação=couchbaseStatus: Em execuçãoMotivo:Mensagem:IP: 172.17.0.7Replicação Controladores: couchbase-1 (1/1 réplicas criado)Contêineres:couchbase:Contêineres ID: doca://bd51f655c2a54f92f4634b84f455ca91642a88b925be39126f07df43ce883a33Imagem: arungupta/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959fImagem ID: doca://c9d204bb75427500ef94263f8f53e8b78f2e56efd37543e620aebb1bc1bd7de1QoS Nível:CPU: BestEffortmemória: BestEffortEstado: Em execuçãoIniciado: Sábado, 19 Dez 2015 08:20:21 -0800Pronto: VerdadeiroReiniciar Contagem: 0Meio ambiente Variáveis:Condições:Tipo StatusPronto VerdadeiroVolumes:couchbase-volume-1:Tipo: EmptyDir (a temporário diretório que ações a cápsula's vida útil)Médio:padrão-token-cycb6:Tipo: Secreto (a segredo que deve preencher este volume)SecretName: padrão-token-cycb6Não eventos.
Consultar o Couchbase Sample Bucket
- Faça login na caixa do Vagrant:
123vagabundo sshÚltimo login: Quarta Nov 18 18:04:32 2015 de 10.0.2.2[vagabundo@localhost ~]$
- Encontre uma lista de todos os contêineres em execução:
12345678910111213141516[vagabundo@localhost ~]$ doca psCONTAINER ID IMAGEM COMANDO CRIADO STATUS PORTOS NOMESbd51f655c2a5 arungupta/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f "/entrypoint.sh /opt/" 7 minutos atrás Para cima 7 minutos k8s_couchbase.f96da262_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec8e5ef3e54d4e openshift/origem-cápsula:v1.1 "/pod" 8 minutos atrás Para cima 8 minutos k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d0f7807f389d9 openshift/mysql-55-centos7:mais recente "ponto de entrada do contêiner" 15 minutos atrás Para cima 15 minutos k8s_ruby-helloworld-banco de dados.448eeefe_database-1-w51ix_turbo_91adac2f-8d66-11e5-bf15-080027c5bfa9_74ecdc59077a078e00a3 172.30.236.154:5000/turbo/origem-rubi-amostra@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193 "ponto de entrada do contêiner" 16 minutos atrás Para cima 16 minutos k8s_ruby-helloworld.88353f9f_frontend-2-1lm99_turbo_42a6dd40-8d67-11e5-bf15-080027c5bfa9_d5110e41e2105f2f4ab6 openshift/origem-haproxy-roteador:v1.1 "/usr/bin/openshift-r" 16 minutos atrás Para cima 16 minutos k8s_router.c3a638e8_router-1-5grim_default_cac8c2d2-8d63-11e5-b835-080027c5bfa9_9d49a633b98052109d08 172.30.236.154:5000/turbo/origem-rubi-amostra@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193 "ponto de entrada do contêiner" 16 minutos atrás Para cima 16 minutos k8s_ruby-helloworld.88353f9f_frontend-2-hdz43_turbo_46657993-8d67-11e5-bf15-080027c5bfa9_f6394539646dcce91f59 openshift/origem-doca-registro:v1.1 "/bin/sh -c 'REGISTRY" 16 minutos atrás Para cima 16 minutos k8s_registry.35eb136e_docker-registro-1-imxqp_default_cb3dde6e-8d63-11e5-b835-080027c5bfa9_71586c07d02c8c07f690 openshift/origem-registro-proxy "sh -cx '/bin/tcppm -" 16 minutos atrás Para cima 16 minutos k8s_openshift-registro-proxy-1.a0457375_openshift-registro-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_4c413a1023267082944f openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos k8s_POD.d982fd5f_database-1-w51ix_turbo_91adac2f-8d66-11e5-bf15-080027c5bfa9_8fc2969fbd7f82a88cb1 openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos k8s_POD.e127fd63_frontend-2-1lm99_turbo_42a6dd40-8d67-11e5-bf15-080027c5bfa9_3f73ddf8d2ca01d75a0c openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos k8s_POD.4d0ddc3f_router-1-5grim_default_cac8c2d2-8d63-11e5-b835-080027c5bfa9_036343da5e25f5ba5c4c openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos k8s_POD.e127fd63_frontend-2-hdz43_turbo_46657993-8d67-11e5-bf15-080027c5bfa9_122e502e7c4b2b9e6c39 openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos k8s_POD.cc3ffd58_docker-registro-1-imxqp_default_cb3dde6e-8d63-11e5-b835-080027c5bfa9_0ae24ed785c4cf8d0808 openshift/origem-cápsula:v1.1 "/pod" 17 minutos atrás Para cima 16 minutos 0.0.0.0:5000->5000/tcp k8s_POD.c686fded_openshift-registro-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_04225f94
Procure o contêiner do Couchbase:
12345[vagabundo@localhost ~]$ doca ps | grep couchbaseCONTAINER ID IMAGEM COMANDO CRIADO STATUS PORTOS NOMESbd51f655c2a5 arungupta/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f "/entrypoint.sh /opt/" 7 minutos atrás Para cima 7 minutos k8s_couchbase.f96da262_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec8e5ef3e54d4e openshift/origem-cápsula:v1.1 "/pod" 8 minutos atrás Para cima 8 minutos k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d0f7807f389d9 openshift/mysql-55-centos7:mais recente "ponto de entrada do contêiner" 15 minutos atrás Para cima 15 minutosObtenha o ID do nosso contêiner:
12doca ps | grep arungupta/couchbase | awk '{ impressão $1}'bd51f655c2a5 - Obtenha o endereço IP do pod em que o servidor Couchbase está sendo executado:
12[vagabundo@localhost ~]$ doca inspecionar --formato '{{ índice .Configuração.Env 6 }}' `doca ps | grep arungupta/couchbase | awk '{ impressão $1}'`COUCHBASE_SERVICE_HOST=172.30.84.134
- Use o endereço IP mostrado acima para iniciar a CLI do Couchbase Query:
12345678910111213141516171819202122232425[vagabundo@localhost ~]$ doca executar -ele arungupta/couchbase /optar/couchbase/caixa/cbq -motor=http://172.30.84.134:8093Não é possível para encontrar imagem 'arungupta/couchbase:mais recente' localmenteTentando para puxar repositório doca.io/arungupta/couchbase ... mais recente: Puxar de arungupta/couchbase62baed0d0de5: Já existe39387babd60f: Já existe6a2bc8404be0: Já existebad926a6fb50: Já existe1a86c4c907e0: Já existe32132a7c82e9: Já existe646c3d5ebb71: Já existe864cbabd77ad: Já existe8c327c6d4e43: Já existe8592c697ab61: Já existe7734f4a832d4: Já existe35edb38ebc17: Já existe99f3eb6fb46f: Já existe91e5fad693c2: Já existe0cb81f5cc79b: Já existeec58df60a109: Já existec9d204bb7542: Já existeDigerir: sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959fStatus: Baixado mais recente imagem para doca.io/arungupta/couchbase:mais recenteCouchbase consulta casca conectado para http://172.30.84.134:8093/ . Digite Ctrl-D para sair.cbq>
- Consultar o bucket de amostra:
123456789101112131415161718192021222324252627cbq> selecionar * de `viagens-amostra` limite 1;{"requestID": "a7bd414a-c571-4b22-8c81-30512b87730d","assinatura": {"*": "*"},"resultados": [{"amostra de viagem": {"indicativo": "MILE-AIR","país": "Estados Unidos","iata": "Q5","icao": "MLA","id": 10,"name" (nome): "40 milhas aéreas","tipo": "companhia aérea"}}],"status": "sucesso","métricas": {"elapsedTime" (tempo decorrido): "123.799956ms","executionTime": "116.882044ms","resultCount": 1,"resultSize": 300}}
Aproveite! Este blog mostra os princípios básicos para começar a usar o Couchbase no OpenShift 3. Blogs futuros mostrarão:
- Como implantar um aplicativo no OpenShift e usar o Couchbase
- Como tornar esse aplicativo acessível fora do OpenShift
- Como dimensionar o Couchbase no OpenShift
- Possivelmente outros itens interessantes que venham a surgir
Você tem alguma sugestão sobre o que gostaria de ver?
Leia mais sobre o Couchbase 4.1:
- O que há de novo no Couchbase Server 4.1
- Baixar o Couchbase Server 4.1
- Documentação do Couchbase Server
- Entre em contato conosco pelo Fóruns do Couchbase
- Seguir @couchbasedev ou @couchbase