- 积分
- 314
- 鸿鹄币
- 个
- 好评度
- 点
- 精华
- 注册时间
- 2014-5-27
- 最后登录
- 1970-1-1
- 阅读权限
- 30
- 听众
- 收听
初级工程师
|
之前一直都有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
[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
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 |
|