三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

K8s最佳搭建实践

K8s最佳搭建实践

一.资源准备

系统版本 centos7.9

硬件需求 cpu 4个 内存2G 硬盘20G

虚拟机数量 三台

三个互通ip

二.环境准备 三台主机分别执行

2.1 关闭防火墙 selinux 交换内存 重启生效

systemctl stop firewalld; systemctl disable firewalld; sed -i 's/enforcing/disabled/' /etc/selinux/config; sed -ri 's/.*swap.*/#&/' /etc/fstab; reboot;

2.2 主机命名 配置解析

hostnamectl set-hostname k8s-master-135; #hostnamectl set-hostname k8s-master-136; #hostnamectl set-hostname k8s-master-137; cat >> /etc/hosts << EOF 192.168.133.135 k8s-master-135 192.168.133.136 k8s-node1-136 192.168.133.137 k8s-node2-137 EOF

2.3设置内核转发 内核模块加载

cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 vm.swappiness = 0 EOF modprobe br_netfilter; sysctl --system; yum -y install ipset ipvsadm; cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4

4.安装docker k8s

apt-get install -y wget; wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo; yum -y install docker-ce-18.06.3.ce-3.el7; systemctl enable docker && systemctl start docker; mkdir -p /etc/docker; cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://docker.m.daocloud.io", "https://docker.1panel.live", "https://mirror.ccs.tencentyun.com" ] } EOF systemctl daemon-reload; systemctl restart docker; cat > /etc/yum.repos.d/kubernetes.repo << 'EOF' [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/ enabled=1 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/rpm/repodata/repomd.xml.key EOF yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0; cat > /etc/sysconfig/kubelet <<EOF UBELET_EXTRA_ARGS="--cgroup-driver=systemd" EOF systemctl enable kubelet;

三.k8s集群配置

kubeadm init \ --apiserver-advertise-address=192.168.133.135 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.18.0 \ --service-cidr=10.96.0.0/12 \ --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 #按照输出 其他节点添加进master kubectl get nodes; wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml; kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
← 返回列表