k8s 最简单的一主二从本地集群部署 并部署镜像(1、基础环境搭建)

k8s 最简单的一主二从本地集群部署 并部署镜像(1、基础环境搭建)

环境基础

3台CentOS7主机:
		master主机: k8s主节点(2核2g)
		node1主机:  运行节点1(2核4g)
		node2主机:  运行节点2(2核4g)
k8s版本: v1.19.*
docker版本: 19.03.13
ip(/etc/hosts):
	192.168.101.100 k8s.master
	192.168.101.101 k8s.node1
	192.168.101.102 k8s.node2

系统镜像下载

这里说一下基本的三台机器,括号里面的配置是最基础的配置,特备是node节点,一定要给够内存和cpu,至少两内核,这是官方最低的配置,不然很有可能导致集群部署失败。如果是本地pc配置的问题导致搭建不了,可以逛逛阿里云
以下部署步骤,包括集群、网络和镜像的部署都是我亲身经历的,如果在过程中有任何报错的话请一定要检查网络环境,毕竟大家都是墙内人!!

创建基础物理机

创建基础镜像机

因为在三台机器上有些相同的环境,这时候我们创建一个基础的镜像机的话可以避免重复安装、配置环境的痛苦。

在这里插入图片描述
中间的步骤基本上就不用贴图了,跟着下一步就行了

这里贴一下我的base机的名称

这里一定要选两核
在这里插入图片描述

4g不能少,master主机可以到时候改为2g
在这里插入图片描述

这里我选择的桥接模式,当然也可以选择nat模式,这个和你的网络环境是不是比较稳定有一定的关系,为了模拟服务器之间的关系这里比较推荐桥接模式,只要服务器之间能够互相ping通就没问题,不要纠结网络类型
在这里插入图片描述
这里尽量20g的硬盘
在这里插入图片描述
其他的步骤都是选择默认的就行了,不要忘了最后装上系统镜像,在开头我找了个系统镜像的链接,和我使用的CentOS镜像是一个版本。

基础镜像环境准备

安装好系统后一套干干净净的centos就像初恋一样没有ip
在这里插入图片描述
这时候我们需要配置一下这台的ip

首先我们查看下自己的物理机的网卡

在这里插入图片描述
这里记住本地物理机的网关地址和子网掩码

	vi /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述
这里需要修改修改三个地方:

  1. 修改自动分配ip地址为静态ip
  2. 开启网卡
  3. 定义ip、网关、子网掩码和dns(ip不要和物理机ip冲突了;网关一定要和物理机的网关是一样的)

保存网络配置后重启网络

systemctl restart network.service

在这里插入图片描述
查看ip并且有网络的情况下说明静态ip就配置好了,就可以切换到连接工具开始配置。

  1. 修改yum源(我这里使用的事163的源,这个源我一直在用很好用,速度很快很稳定,如果梯子比较滑溜也不用这一步)

    下载repo文件

     yum install -y wget
     wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    

    备份并替换系统的repo文件

     cp CentOS7-Base-163.repo /etc/yum.repos.d/ 
     cd /etc/yum.repos.d/ 
     mv CentOS-Base.repo CentOS-Base.repo.bak 
     mv CentOS7-Base-163.repo CentOS-Base.repo
    

    执行yum源更新命令

     yum clean all 
     yum makecache 
     yum update
    
  2. 关闭防火墙

     systemctl stop firewalld
     systemctl disable firewalld
     setenforce 0
     sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
     swapoff -a
     sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    
  3. 安装依赖包

       yum install -y epel-release
       yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp
    
  4. 同步时间(这点很重要,k8s是一个集群环境,节点时间如果对不上可能会导致注册不上集群)

     ntpdate time1.aliyun.com
    

    在这里插入图片描述

  5. 加载内核模块

     modprobe ip_vs_rr
     modprobe br_netfilter
    
  6. 优化内核参数

     cat > /etc/sysctl.d/kubernetes.conf << EOF
     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
    

    在这里插入图片描述

  7. 关闭交换空间(在容器环境中必须关闭交换空间,不然会导致资源的严重浪费)

     swapoff -a
    

    查看交换空间,Swap是0,表示交换空间关闭

     free
    

    在这里插入图片描述

基础镜像软件准备

  1. 添加k8s的yum源

     cat <<EOF >>/etc/yum.repos.d/kubernetes.repo
     [kubernetes]
     name=Kubernetes repo
     baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
     gpgcheck=0
     gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
     enabled=1
     EOF
    
  2. 添加docker的yum源

     wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    

    在这里插入图片描述

  3. 安装docker

     yum -y install docker-ce
    
  4. 启动docker ,修改镜像源,并且开机自启

     systemctl enable docker
     systemctl start docker
    
     cat <<EOF >>/etc/docker/daemon.json
     {
     #这是我自己的镜像源地址,个人可以去阿里云申请docker的镜像仓库地址
     "registry-mirrors": ["https://********.mirror.aliyuncs.com"]
     }
     EOF
    
     systemctl restart docker
    
  5. 安装kubeadm,kubelet,kubectl

     yum -y install kubelet kubeadm kubectl
     systemctl enable kubelet
    

自此所有的基础环境就搭建好了,这里需要克隆三套机器,一台的内存改为2g作为master节点,其余两台是node节点

逐个启动,第一时间修改网络配置,并重启网络,每个主机只修改网络配置和hosts文件

	vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改IPADDR为不同的地址,三台机器的ip地址不能冲突。改完后看看每台主机的ip,检查下docker是否启动

master:
在这里插入图片描述
node1:
在这里插入图片描述
node2:
在这里插入图片描述

我这里的三台机器的ip地址分别为

master: 192.168.101.100
node1: 192.168.101.101
node2: 192.168.101.102

修改完每台机器的ip地址后,修改每台机器的hosts文件,为每个机器添加域名。

cat <<EOF>> /etc/hosts
192.168.101.100 k8s.master
192.168.101.101 k8s.node1
192.168.101.102 k8s.node2
EOF

在这里插入图片描述

至此所有的准备工作就结束了,下一章安装master节点和注册node节点,搭建集群

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值