Olá pessoal,
Hoje vamos continuar a demonstração de como podemos utilizar Kubernetes para nos auxiliar na administração de containers. Para conseguirmos realizar todos os procedimento vamos criar uma estrutura com quatro servidores:
- Node – Master (CentOS7)
- Node – Minion1 (CentOS7)
- Node – Minion2 (CentOS7)
- Node – Minion3 (CentOS7)
Agora vamos instalar alguns componentes em nosso servidor Master.
//Instalando o Kubernetes e o etcd (Serviço de descoberta) yum install kubernetes etcd -y // Vamos editar o conf do etcd para liberarmos as portas de acesso a esse serviço. Você vai ver que o arquivo de // conf possui diversas linhas comentadas, vamos tirar o comentário apenas dessas linhas: vi /etc/etcd/etcd.conf ETCD_NAME=defaultETCD_DATA_DIR=
"/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS=
"http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS=
"http://localhost:2379" //Agora vamos fazer a configuração da API do Kubernetes vi /etc/kubernetes/apiserver
KUBE_API_ADDRESS=
"--address=0.0.0.0"
KUBE_API_PORT=
"--port=8080"
KUBELET_PORT=
"--kubelet_port=10250"
KUBE_ETCD_SERVERS=
"--etcd_servers=http://127.0.0.1:2379"
KUBE_SERVICE_ADDRESSES=
"--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL=
"--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=
""
//Depois de mexer nos conf da API do Kubernetes e do etcd, vamos dar um start neles agora
systemctl restart etcd
systemctl restart kube-apiserver systemctl restart kube-controller-manager systemctl kube-scheduleretcdctl mk
/atomic
.io
/network/config
'{"Network":"172.17.0.0/16"}'
Agora nos servidores Minions vamos executar os seguintes comandos:
yum -y install flannel kubernetes //Vamos editar o conf do flannel agora em /etc/sysconfig/flanneld FLANNEL_ETCD="http://IPMASTER:2379" //Editando o conf do Kubernetes para conectar na API do master. /etc/kubernetes/configKUBE_MASTER=
"--master=http://IPMASTER:8080"
//Agora vamos editar o conf do serviço de cada minion, então em cada servidor você vai colocar o seu respectivo IP. /etc/kubernetes/kubeletKUBELET_ADDRESS=
"--address=0.0.0.0"
systemctl restart kube-proxy systemctl restart kubelet systemctl restart docker systemctl restart flanneldKUBELET_PORT=
"--port=10250"
KUBELET_HOSTNAME=
"--hostname_override=IPMINION"
KUBELET_API_SERVER=
"--api_servers=http://IPMASTER:8080"
KUBELET_ARGS=
""
Agora no server Master é só executar:
//Você receberá o status de nossos nó kubectl get nodes
Por hoje era isso pessoal, em nosso próximo post vamos demonstrar como podemos criar aplicações altamente disponíveis dentro do nosso Kubernetes.
Espero ter ajudado, e já sabe, tendo dúvida entre em contato conosco ou deixe sua dúvida no fórum que o pessoal pode te ajudar :), quer nos ajudar? Divulgue o mundodocker.com.br e vamos conversando.
Abraço!