Kubernetes: Instalação Online usando repositórios públicos

Dica: Caso você não tenha acesso ao repositório na internet, veja o artigo Kubernetes: Instalação Offline ou Instalação usando repositórios privados

= Docker =

Instalando o Docker
1) Criar arquivo /etc/yum.repos.d/docker-ce.repo, com o conteúdo:

[docker-ce] name=Docker CE Stable - $basearch baseurl=https://download.docker.com/linux/centos/7/$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://download.docker.com/linux/centos/gpg
 * 1) baseurl=http://repomirror.company.com/docker-mirror/linux/centos/7/$basearch/stable/
 * 1) gpgkey=http://repomirror.company.com/docker-mirror/linux/centos/gpg

2) Instalando os pacotes no CentOS

yum install -y docker-ce-18.06.3

3) Remover o arquivoo

/etc/yum.repos.d/docker-ce.repo

Configuração pós-instalação
1) Tuning do SO

sysctl -a | grep may_detach_mounts

Se o valor for diferente de "fs.may_detach_mounts = 1", ajustar:

echo 1 > /proc/sys/fs/may_detach_mounts echo fs.may_detach_mounts=1 > /usr/lib/sysctl.d/99-docker.conf

3) Editar o arquivo /etc/docker/daemon.json e configurar o devicemapper storage driver.


 * Importante: No meu caso precisava utilizar um repositório interno, então adicionei a variável insecure-registries.

mkdir -p /etc/docker cat <> /etc/docker/daemon.json {   "bip": "1.1.1.1/16", "insecure-registries": ["repomirror.company.com:5001"], "storage-driver": "devicemapper", "storage-opts": [ "dm.thinpooldev=/dev/mapper/dockerVg-thinpoolLv", "dm.use_deferred_removal=true", "dm.use_deferred_deletion=true" ] } EOF

4) Start o Docker

systemctl start docker

5) Verificando as configurações

docker info

6) Se tudo estiver correto ajustar para iniciar automaticamente

systemctl enable docker

Verificando problemas
Inspecionando os logs do docker:

journalctl -ul docker

= Kubernetes =

Instalando o Kubernetes
1) Criar arquivo /etc/yum.repos.d/kubernetes.repo, com o conteúdo:

[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kube*

2) Instalando os pacotes no CentOS

yum install -y kubelet-1.11.9 kubeadm-1.11.9 kubectl-1.11.9

3) Remover o arquivoo

/etc/yum.repos.d/kubernetes.repo

4) Start o Kubernetes

systemctl start kubelet

6) Se tudo estiver correto ajustar para iniciar automaticamente

systemctl enable kubelet

Create a kubeadm-config.yaml
Criar arquivo kubeadm-config.yaml, com o conteúdo:

apiVersion: kubeadm.k8s.io/v1alpha2 kind: MasterConfiguration apiServerExtraArgs: enable-admission-plugins: PodSecurityPolicy kubernetesVersion: v1.11.9 networking: # This CIDR is a Calico default. Substitute or remove for your CNI provider. podSubnet: "192.168.0.0/16"

Initialize the master.

kubeadm init --config=kubeadm-config.yaml

To make kubectl work,

mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config

= Ver também =


 * Mais Artigos sobre Connections
 * Kubernetes: Instalação Offline ou Instalação usando repositórios privados
 * HCL Connections: Administrando o Component Pack