OpenShift - Configuração de ambiente
Neste capítulo, aprenderemos sobre a configuração do ambiente do OpenShift.
Requisitos do sistema
Para configurar o OpenShift empresarial, é necessário ter uma conta Red Hat ativa. Como o OpenShift funciona no mestre do Kubernetes e na arquitetura do nó, precisamos configurá-los em máquinas separadas, em que uma máquina atua como mestre e a outra funciona no nó. Para configurar ambos, existem requisitos mínimos de sistema.
Configuração da Máquina Mestre
A seguir estão os requisitos mínimos do sistema para a configuração da máquina mestre.
Uma máquina base hospedada em ambiente físico, virtual ou em qualquer ambiente de nuvem.
Pelo menos Linux 7 com os pacotes necessários nessa instância.
2 núcleos de CPU.
Pelo menos 8 GB de RAM.
30 GB de memória interna do disco rígido.
Configuração de Máquina Nó
- Imagem de base física ou virtual conforme fornecida para a máquina mestre.
- Pelo menos Linux 7 na máquina.
- Docker instalado com versão não inferior a 1.6.
- 1 núcleo de CPU.
- 8 GB de RAM.
- Disco rígido de 15 GB para hospedar imagens e 15 GB para armazenar imagens.
Guia passo a passo para a configuração do OpenShift
Na descrição a seguir, vamos configurar o ambiente de laboratório OpenShift, que pode ser estendido posteriormente para um cluster maior. Como o OpenShift requer configuração de mestre e nó, precisaríamos de pelo menos duas máquinas hospedadas em nuvem, física ou virtual.
Step 1- Primeiro instale o Linux em ambas as máquinas, onde o Linux 7 deve ser a versão mínima. Isso pode ser feito usando os seguintes comandos se alguém tiver uma assinatura Red Hat ativa.
# subscription-manager repos --disable = "*"
# subscription-manager repos --enable = "rhel-7-server-rpms"
# subscription-manager repos --enable = "rhel-7-server-extras-rpms"
# subscription-manager repos --enable = "rhel-7-server-optional-rpms"
# subscription-manager repos --enable = "rhel-7-server-ose-3.0-rpms"
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install wget git net-tools bind-utils iptables-services bridge-utils
# yum install python-virtualenv
# yum install gcc
# yum install httpd-tools
# yum install docker
# yum update
Assim que tivermos todos os pacotes básicos acima instalados em ambas as máquinas, a próxima etapa seria configurar o Docker nas respectivas máquinas.
Step 2- Configure o Docker de forma que permita comunicação insegura apenas na rede local. Para isso, edite o arquivo Docker dentro de / etc / sysconfig. Se o arquivo não estiver presente, você precisará criá-lo manualmente.
# vi /etc/sysconfig/docker
OPTIONS = --selinux-enabled --insecure-registry 192.168.122.0/24
Depois de configurar o Docker na máquina mestre, precisamos configurar uma comunicação sem senha entre as duas máquinas. Para isso, usaremos autenticação de chave pública e privada.
Step 3 - Gere chaves na máquina mestre e, em seguida, copie a chave id_rsa.pub para o arquivo de chave autorizado da máquina do nó, o que pode ser feito usando o seguinte comando.
# ssh-keygen
# ssh-copy-id -i .ssh/id_rsa.pub [email protected]
Depois de ter todas as configurações acima definidas, o próximo passo é configurar o OpenShift versão 3 na máquina mestre.
Step 4 - Na máquina mestre, execute o seguinte comando curl.
# sh <(curl -s https://install.openshift.com/ose)
O comando acima colocará a configuração em vigor para OSV3. A próxima etapa seria configurar o OpenShift V3 na máquina.
Se você não puder fazer o download diretamente da Internet, ele pode ser baixado de https://install.openshift.com/portable/oo-install-ose.tgz como um pacote tar a partir do qual o instalador pode ser executado na máquina master local.
Assim que tivermos a configuração pronta, precisamos começar com a configuração real do OSV3 nas máquinas. Esta configuração é muito específica para testar o ambiente de produção real, temos o LDAP e outras coisas no local.
Step 5 - Na máquina mestre, configure o seguinte código localizado em /etc/openshift/master/master-config.yaml
# vi /etc/openshift/master/master-config.yaml
identityProviders:
- name: my_htpasswd_provider
challenge: true
login: true
provider:
apiVersion: v1
kind: HTPasswdPasswordIdentityProvider
file: /root/users.htpasswd
routingConfig:
subdomain: testing.com
Em seguida, crie um usuário padrão para administração padrão.
# htpasswd -c /root/users.htpasswd admin
Step 6- Como o OpenShift usa o registro Docker para configurar imagens, precisamos configurar o registro Docker. Isso é usado para criar e armazenar as imagens Docker após a construção.
Crie um diretório na máquina do nó OpenShift usando o seguinte comando.
# mkdir /images
Em seguida, faça login na máquina mestre usando as credenciais de administrador padrão, que são criadas durante a configuração do registro.
# oc login
Username: system:admin
Mude para o projeto padrão criado.
# oc project default
Step 7 - Crie um Docker Registry.
#echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"registry"}}' | oc create -f -
Edite os privilégios do usuário.
#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry
Crie e edite o registro de imagem.
#oadm registry --service-account = registry --
config = /etc/openshift/master/admin.kubeconfig --
credentials = /etc/openshift/master/openshift-registry.kubeconfig --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}' --
mount-host = /images
Step 8 - Crie um roteamento padrão.
Por padrão, o OpenShift usa OpenVswitch como rede de software. Use o seguinte comando para criar um roteamento padrão. Isso é usado para balanceamento de carga e roteamento de proxy. O roteador é semelhante ao registro do Docker e também é executado em um registro.
# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -
Em seguida, edite os privilégios do usuário.
#oc edit scc privileged
users:
- system:serviceaccount:openshift-infra:build-controller
- system:serviceaccount:default:registry
- system:serviceaccount:default:router
#oadm router router-1 --replicas = 1 --
credentials = '/etc/openshift/master/openshift-router.kubeconfig' --
images = 'registry.access.redhat.com/openshift3/ose-${component}:${version}'
Step 9 - Configure o DNS.
Para lidar com a solicitação de URL, o OpenShift precisa de um ambiente DNS funcional. Esta configuração DNS é necessária para criar um curinga, que é necessário para criar um curinga DNS que aponta para um roteador.
# yum install bind-utils bind
# systemctl start named
# systemctl enable named
vi /etc/named.conf
options {listen-on port 53 { 10.123.55.111; };
forwarders {
10.38.55.13;
;
};
zone "lab.com" IN {
type master;
file "/var/named/dynamic/test.com.zone";
allow-update { none; };
};
Step 10- A etapa final seria configurar o servidor github na máquina mestre OpenShift V3, que é opcional. Isso pode ser feito facilmente usando a seguinte seqüência de comandos.
#yum install curl openssh-server
#systemctl enable sshd
# systemctl start sshd
# firewall-cmd --permanent --add-service = http
# systemctl reload firewalld
#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
#yum install gitlab-ce
# gitlab-ctl reconfigure
Assim que a configuração acima for concluída, você pode verificar por meio de testes e implantar aplicativos, sobre os quais saberemos mais nos capítulos subsequentes.