chefchanyu 发表于 2021-7-21 11:48:34

Setup K8s on Centos 8 (1 master 2 worker nodes)

之前一直都有pod to pod in difrence node cummunication 问题。 这个设定完全没有任何问题, 推荐给大家:

#Run these on all your servers that will be part of the Kubernetes cluster

#Config firewall
sudo -i
firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10251/tcp
firewall-cmd --permanent --add-port=10252/tcp
firewall-cmd --permanent --add-port=10255/tcp
#Also opne dynaic ports 30000 to 32767 for "NodePort" access.
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --zone=trusted --permanent --add-source=192.168.0.0/24
firewall-cmd --add-masquerade --permanent

#Netfilter offers various functions and operations for packet filtering, network address translation, and port translation, which provide the functionality required for directing packets through a network
#modprobe - program to add and remove modules from the Linux Kernel
modprobe br_netfilter
systemctl restart firewalld
exit


#Add both servers to hosts file
sudo nano /etc/hosts
192.168.0.<XX>    kube-master
192.168.0.<XX>   kube-node1

# Docker packages are not available anymore on CentOS 8 or RHEL 8 package repositories, so run following dnf command to enable Docker CE package repository.
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

#Install Docker
sudo dnf install docker-ce --nobest -y --allowerasing

#Start and enable the Docker daemon
sudo systemctl enable --now docker

#Add your user to the docker group
sudo usermod -aG docker $USER

#logoof and log back in
exit
ssh YOUR_ID@NODE_YOU_WERE_WORKING_ON

#Veiry docker installed correctly
docker --version
docker run hello-world

#Now we can install Kubernetes on CentOS. First, we must create a new repository:
cat << eof | sudo tee /etc/yum.repos.d/kubernetes.repo

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
eof

#Install Kubernetes
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

#Modify kubelet file
cat << eof | sudo tee /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS= --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice
eof

#Start the Kubernetes service
sudo systemctl enable --now kubelet

#Now we’re going to have to su to the root user and then create a new file (to help configure iptables):
sudo -i
cat << eof | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
eof

#Load the new configuration
sysctl --system

#Disable swap
sudo swapoff -a
#Also premanently disable swap
sudo vim /etc/fstab
      #/dev/mapper/cl-swap

#Create a docker Daemon File
cat << eof | sudo tee /etc/docker/daemon.json
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "log-opts": {
      "max-size": "100m"
    },
    "storage-driver": "overlay2",
    "storage-opts": [
      "overlay2.override_kernel_check=true"
    ]
}   
eof
mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload
systemctl restart docker
exit








ssh YOUR_ID@MASTER_IP_ADDRESS

sudo kubeadm init

mkdir -p $HOME/.kube

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

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

#SCP this to all your worker nodes
scp -r $HOME/.kube <user>@192.168.0.<XX>:/home/YOUR_HOME_DIRECTORY

#Do the following on all your worker node:
ssh YOUR_ID@WORKER_NODE__IP_ADDRESS
   
sudo -i
    #Copy the join command, token and cert from "kubeadm init" operation and run it below
    kubeadm join ----
exit

xxzy28 发表于 2021-9-2 17:20:51

等会儿去做一下看看

vaio 发表于 2021-9-2 18:45:18

可以可以,建议在虚拟环境下做,开3台虚拟机应该毫无压力。常规实验1master2node差不多都够了
页: [1]
查看完整版本: Setup K8s on Centos 8 (1 master 2 worker nodes)