===== Kubernetes ===== ==== Install kubernetes på CentOS 7 ==== * https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux * https://www.serverlab.ca/tutorials/containers/kubernetes/how-to-add-workers-to-kubernetes-clusters/ Swap skal disables på manager(s) og workers: swapoff /dev/dm-1 sed -i '/swap/s/^/#/' /etc/fstab Desværre så skal SELinux vistnok disables: # Set SELinux in permissive mode (effectively disabling it) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config Firewalld skal disables og iptables enables på manager(s) og workers: systemctl disable firewalld systemctl stop firewalld echo '1' | tee /proc/sys/net/bridge/bridge-nf-call-{iptables,ip6tables,arptables} echo 'net.bridge.bridge-nf-call-iptables = 1' > /etc/sysctl.d/99-nf-call-iptables.conf echo 'net.bridge.bridge-nf-call-ip6tables = 1' >> /etc/sysctl.d/99-nf-call-iptables.conf echo 'net.bridge.bridge-nf-call-arptables = 1' >> /etc/sysctl.d/99-nf-call-iptables.conf iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t mangle -F iptables -F iptables -X På manager(s) og workers skal repo tilføjes og software installeres: cat < /etc/yum.repos.d/kubernetes.repo [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 EOT yum install -y kubectl kubeadm docker etcd På manager(s) og workers skal docker+kubelet OS-service enables og startes: systemctl enable docker.service kubelet.service systemctl start docker.service kubelet.service På manager(s) og workers er det rart med bash tab-completions: yum install -y bash-completion kubectl completion bash >/etc/bash_completion.d/kubectl Og tilføje hostname/ip'er til host-filen (eller i DNS) cat <> /etc/hosts 10.0.0.10 manager 10.0.0.20 worker1 10.0.0.30 worker2 EOT På manager: kubeadm init --pod-network-cidr=10.0.1.0/24 --apiserver-advertise-address=10.0.0.10 # erstat 10.0.0.10 med managers ip. Tager lang tid På manager skal resten køres som en alm. bruger med sudo-rettigheder: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config Der skal vælges en network provider fra listen på https://kubernetes.io/docs/concepts/cluster-administration/addons/ \\ Her vælges Calico: kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml Og installeres Kube Dashboard. Bagefter forbinde på adressen: \\ http://:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml kubectl proxy kubeadm token create --print-join-command og brug outputtet på workers: kubeadm join --token --discovery-token-ca-cert-hash Og test tilsidst med: kubectl get nodes kubectl apply -f https://k8s.io/examples/service/access/hello-application.yaml