Centos7部署k8s(单master节点安装)
- 创业
- 2025-09-16 23:03:01

单master节点部署k8s集群(Centos)
一、安装前准备
1、修改主机名
按照资源准备修改即可
# master01 hostnamectl set-hostname master01 ; bash # node1 hostnamectl set-hostname node1 ; bash # node2 hostnamectl set-hostname node2 ; bash2、修改hosts文件
以下命令所有节点都要执行 cat > /etc/hosts <<EOF 192.168.2.10 master01 192.168.2.20 node1 192.168.2.30 node2 EOF3、系统优化
安装依赖文件(以下命令所有节点都要执行) yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git 关闭防火墙,设置防火墙为iptables,并清空规则(以下命令所有节点都要执行) systemctl stop firewalld && systemctl disable firewalld yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save 关闭swap分区和selinux(以下命令所有节点都要执行) # 关闭swap分区 swapoff -a && sed -i 's/.*swap.*/#&/g' /etc/fstab # 关闭selinux setenforce 0 &&sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 调整内核参数(以下命令所有节点都要执行) modprobe br_netfilter modprobe overlay yum -y install ipset ipvsadm cat > /etc/sysconfig/modules/ipvs.modules <<EOF modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh EOF kernel_version=$(uname -r | cut -d- -f1) echo $kernel_version if [ `expr $kernel_version \> 4.19` -eq 1 ] then modprobe -- nf_conntrack else modprobe -- nf_conntrack_ipv4 fi chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack cat <<EOF> /etc/sysctl.d/kubernetes.conf net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 net.ipv4.ip_forward=1 net.ipv4.tcp_tw_recycle=0 vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它 vm.overcommit_memory=1 # 不检查物理内存是否够用 vm.panic_on_oom=0 # 开启 OOM fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=1048576 fs.file-max=52706963 fs.nr_open=52706963 net.ipv6.conf.all.disable_ipv6=1 net.netfilter.nf_conntrack_max=2310720 EOF sysctl -p /etc/sysctl.d/kubernetes.conf echo 1 > /proc/sys/net/ipv4/ip_forward cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF二、部署Containered
以下命令所有节点都要执行 ##部署源并安装containerd wget mirrors.aliyun /docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo yum list |grep containerd yum -y install containerd.io-1.6.4-3.1.el7.x86_64 mkdir -p /etc/containerd containerd config default | sudo tee /etc/containerd/config.toml ##修改cgroup Driver为systemd sed -ri 's#SystemdCgroup = false#SystemdCgroup = true#' /etc/containerd/config.toml ##应用配置 systemctl daemon-reload && systemctl enable containerd --now ##设置crictl cat << EOF >> /etc/crictl.yaml runtime-endpoint: unix:///var/run/containerd/containerd.sock image-endpoint: unix:///var/run/containerd/containerd.sock timeout: 10 debug: false EOF # 启动完成后就可以使用 containerd 的本地 CLI 工具 ctr 和 crictl 了,比如查看版本: ctr version crictl version三、安装kubernetes
1、配置安装源
以下命令所有节点都要执行 # 网络原因,这里使用阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun /repo/Centos-7.repo cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun /kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun /kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun /kubernetes/yum/doc/rpm-package-key.gpg EOF yum makecache fast2、安装
以下命令所有节点都要执行 yum install -y kubeadm-1.22.10 kubelet-1.22.10 kubectl-1.22.10 systemctl enable --now kubelet四、初始化master添加node
1、初始化master节点
以下命令只在master01执行 kubeadm init \ --kubernetes-version=v1.22.10 \ --apiserver-advertise-address=192.168.2.10 \ --image-repository registry.aliyuncs /google_containers \ --pod-network-cidr=10.244.0.0/16 \ --token-ttl=0 \ --upload-certs mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config 初始化完成后会输出一段日志 ..... ..... [addons] Applied essential addon: CoreDNS [addons] Applied essential addon: kube-proxy Your Kubernetes control-plane has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You should now deploy a pod network to the cluster. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: kubernetes.io/docs/concepts/cluster-administration/addons/ Then you can join any number of worker nodes by running the following on each as root: kubeadm join 192.168.2.151:6443 --token v2r5a4.veazy2xhzetpktfz \ --discovery-token-ca-cert-hash sha256:daded8514c8350f7c238204979039ff9884d5b595ca950ba8bbce80724fd65d4 # 最后这个kubeadm json... 是node节点加入集群的命令,需要在要加入集群的node节点上执行2、node节点加入集群
以下命令只在node节点执行 kubeadm join 192.168.2.151:6443 --token v2r5a4.veazy2xhzetpktfz \ --discovery-token-ca-cert-hash sha256:daded8514c8350f7c238204979039ff9884d5b595ca950ba8bbce80724fd65d4五、安装网络插件flannel
以下命令只在master01节点执行 kubectl apply -f raw.githubusercontent /coreos/flannel/master/Documentation/kube-flannel.yml以上是centos7部署k8s的步骤,希望能够帮助到你!
Centos7部署k8s(单master节点安装)由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Centos7部署k8s(单master节点安装)”