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=default
ETCD_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-scheduler
etcdctl 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/config
KUBE_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/kubelet
KUBELET_ADDRESS=
"--address=0.0.0.0"
KUBELET_PORT=
"--port=10250"
KUBELET_HOSTNAME=
"--hostname_override=IPMINION"
KUBELET_API_SERVER=
"--api_servers=http://IPMASTER:8080"
KUBELET_ARGS=
""
systemctl restart kube-proxy
systemctl restart kubelet
systemctl restart docker
systemctl restart flanneld
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!
Referência: http://severalnines.com/blog/installing-kubernetes-cluster-minions-centos7-manage-pods-services
Trabalha em uma consultoria com foco em Plataforma como Serviço (PaaS), é especialista em Cloud Computing e Conteinerização, desenvolve todo dia uma nova maneira de resolver problemas e criar coisas novas.