systemctl stop firewalld
systemctl disable firewalld
getenforce 0
iptables -F
swapoff -a
sed -i '/swap/ s/^\(.*\)$/#\1/g' /etc/fstab
vim /etc/selinux/config
yum install -y device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxm12-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack ntpdate telnet ipvsadm npdate(相关依赖都在k8s.zip内)
cat >> /etc/hosts << EOF
192.168.*.* k8smaster
192.168.*.* k8snode1
192.168.*.* k8snode2
192.168.*.* k8snode3
EOF
cat >> /etc/modules-load.d/k8s.conf << EOF
br_netfilter
EOF
cat <<EOF >> /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
sysctl -p
安装docker在上一章
yum -y install docker-ce
# 配置Docker使用systemd作为默认Cgroup驱动,配置之后需要重启docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload
systemctl restart docker
内网环境(((
unzip k8s.zip
cd k8s/rpm/
yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
cd ../k8s/images/k8s/
docker load -i 所有镜像
cd ../calico/
docker load -i 所有镜像
)))
systemctl enable kubelet
network-cidr=参考custom-resources.yaml
kubeadm init --apiserver-advertise-address=192.168.173.141 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
cd k8s/yaml/
kubectl apply -f tigera-operator.yaml
kubectl create -f custom-resources.yaml
watch kubectl get pods -n calico-system
添加node
主节点:
kubeadm token list
kubeadm token create
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2> /dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
node节点:
systemctl stop firewalld
systemctl disable firewalld
getenforce 0
iptables -F
swapoff -a
sed -i '/swap/ s/^\(.*\)$/#\1/g' /etc/fstab
systemctl enable kubelet
systemctl enable docker
cat >> /etc/modules-load.d/k8s.conf << EOF
br_netfilter
EOF
cat <<EOF >> /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
sysctl -p
kubeadm join 192.168.173.141:6443 --token eu6nt4.v3xq4xl6qp8ihl2q --discovery-token-ca-cert-hash sha256:7b060ebcaa040372f4e171c9eaa51dea264d5f67a3bd975da125928d2f5c771e