K8S新手采坑安装

开始安装k8s环境,各种百度,视频摸索终于成功安装kubeadm,来记录一下反反复复操作,试错,最后成功的步骤。(包含Docker的安装)希望能帮助到从零开始搭建K8S环境练手的小伙伴们!!!!

虚拟机双网卡设置(WMware)

  1. 设置Host-Only(内网访问) 和NAT(可访问外部网络)
  • 最好保证内存和处理器相对大一些
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  1. NAT设置
  • 需要记住MAC地址
    在这里插入图片描述
  • 关掉动态获取网络配置,DHCP关掉
    在这里插入图片描述
  • 查看一下NAT的网关,后面配置文件会用到
    在这里插入图片描述
  • 设置NAT的固定IP
$ cd  /etc/sysconfig/network-scripts/   进入该目录
$ vim  /etc/sysconfig/network-scripts/ifcfg-eth0  修改NAT网段对应的文件(可查看虚拟机网络管理根据ip对应找一下)

在这里插入图片描述
在这里插入图片描述

DEVICE="eth0" 
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
PERSISTENT_DHCLIENT="yes"
IPADDR="192.168.111.130"
NETMASK="255.255.255.0"
HWADDR="00:50:56:6C:D6:47"
GATEWAY="192.168.111.2"
DNS1="8.8.8.8"
DNS2="114.114.114.114"

Docker安装

1.推荐安装教程网址

这里我也是参考了这两篇文章,开始动手实操
传送门1:https://www.cnblogs.com/yufeng218/p/8370670.html
传送门2:http://www.imooc.com/article/16448

2.Centos7.3 Docker 安装(yum安装)

虽然提供了传送门,但还是要记录一下自己的安装步骤,开始吧

  • 查看Linux版本,保证内核在3.10版本及以上
$ uname -r
  • 更新 yum 包
$ yum -y update
  • 安装软件包,yum-util 提供yum-config-manager功能,devicemapper是驱动依赖
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum  -y  install gcc zlib zlib-devel pcre-devel  openssl openssl-devel 
$ yum -y install net-tools ntp
  • 设置Docker阿里yum源(查看路径 /etc/yum.repo.d/docker-ce.repo)
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装默认版本Docker,也可指定版本
$ yum install docker-ce  默认安装稳定版
$ yum install docker-ce-19.03.13  指定版本安装
  • Docker服务启动并加入开机启动
$ systemctl start docker   启动
$ systemctl enable docker  开机启动
  • 验证安装是否成功
$ docker version  查看版本(出现client 和 server两部分信息表示安装成功)
$ docker info   查看具体信息

K8S安装

1. 前置环境准备

  • 虚拟机域名配置(固定ip,1个master,2个node)
$ vim /etc/hosts

在这里插入图片描述

  • 配置DNS域名解析ip
$ vim /etc/resolv.f
添加:
nameserver 8.8.8.8 
nameserver 114.114.114.114
  • 配置Centos阿里repo源
$ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com./repo/Centos-7.repo
  • 配置Kubernetes阿里repo源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  • 查看本机安装的repo源
$  yum repolist
  • 安装网络插件(将桥接的IPv4流量传递到iptables)
$ modprobe br_netfilter
$ cat /proc/sys/net/bridge/bridge-nf-call-iptables  结果为1,若不是,需要修改为1

在这里插入图片描述

  • 设置K8S配置文件
$ vim /etc/sysctl.d/k8s.conf
copy一下内容:
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
  • 关闭防火墙
$ systemctl stop firewalld   
$ systemctl disable firewalld
  • 关闭SeLinux
$ setenforce 0  临时设置
$ vim /etc/selinux/config 把enforcing 改为 disabled 永久设置

在这里插入图片描述

  • 关闭swap
$ swapoff -a 临时设置
$ vim /etc/fstab 永久修改,注释掉swap字样的那行

在这里插入图片描述

  • 配置Docker加速器
$ vim /etc/docker/daemon.json
添加内容如下:(最好申请阿里云账号会提供一个属于你自己的阿里云加速器)
{"registry-mirrors":["https://registry.cn-hangzhou.aliyuncs.com"]} 

  • 重启docker
 $ systemctl daemon-reload  
 $ systemctl restart docker 

2. K8S-Master节点安装

  • kubeadm kubelet kubectl 安装(建议:安装完毕,打一个基础镜像,便于后续work-node节点使用)
$ yum install -y kubeadm kubelet kubectl
  • 设置主机名(设置为master)
$ hostnamectl set-hostname master
  • 初始化主节点

注意:
1.可能涉及到docker版本降级,如果安装的docker版本是.20以上,需要进行docker服务降级:
https://blog.csdn.net/zhanremo3062/article/details/114652850
2.k8s与docker版本参照: https://blog.csdn.net/m82_a1/article/details/98872734

$  kubeadm  init  --kubernetes-version=1.20.4                  // kube版本
--apiserver-advertise-address=192.168.111.130                  // 固定master主机ip
--image-repository registry.aliyuncs.com/google_containers     // 阿里云镜像
--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
  • 查看是否安装成功(成功:会看到一堆秘钥)
$ cat /etc/kubernetes/admin.conf
  • 查看节点状态
$ kubectl get nodes

在这里插入图片描述

  • 安装Flannel网络插件
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • 查看pod
$ kubectl --namespace=kube-system get pod

在这里插入图片描述

  • 再次查看node状态
$ kubectl get nodes 

在这里插入图片描述

master节点状态为Ready表示安装成功!

3. K8S-WorkNode节点安装

3.1 方法一部署Node节点
  • 参照Master部署方式

注意!!!!执行到 yum install -y kubeadm kubelet kubectl 并设置完 hostname 后,之前的操作和Master的操作一模一样

  • 拷贝Master节点的 /etc/kubernetes/admin.conf 文件到 Node节点上
  • 在Node节点机器上执行如下命令,获取 token 验证链接
$ kubeadm token create --print-join-command
  • 将Node节点创建token链接,在Node节点机器上执行
$ kubeadm join 192.168.111.130:6443 --token pigqii.aq32ybp3m577arzy     --discovery-token-ca-cert-hash sha256:1a23aed85e5e7b3e08d041b65bfbc4788eefbd648cc40281152bb3d8b3a1357e

  • 切换Master节点,查看Node节点是否加入,其状态为Ready则表明Node节点安装完毕,就可以部署Pod了
$ kubeclt get nodes

在这里插入图片描述

3.2 方法二部署Node节点
  • Master节点进行拷贝
  • 修改主机名
$ hostnamectl set-hostname node1
  • 修改静态ip
$ vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改:
IPADDR=192.168.111.131
MAC=需要生成新的mac地址
  • 配置网络转发
$ echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
$ echo 1 > /proc/sys/net/ipv4/ip_forward
  • 拷贝 Master节点的 /etc/kubernetes/admin.conf 文件
  • 清理Master环境的网络
$ kubeadm reset
$ systemctl stop docker
$ systemctl stop kubelet
$ rm -rf /var/lib/cni/
$ rm -rf /var/lib/kubelet/*
$ rm -rf /etc/cni/
$ ifconfig cni0 down
$ ifconfig docker0 down
$ ifconfig flannel.1 down
$ ip link delete cni0
$ ip link delete flannel.1
重启:
$ systemctl start docker
$ systemctl start kubelet
  • 在Node的节点创建token,并join
$ kubeadm token create --print-join-command
$ kubeadm join 192.168.111.130:6443 --token pigqii.aq32ybp3m577arzy     --discovery-token-ca-cert-hash sha256:1a23aed85e5e7b3e08d041b65bfbc4788eefbd648cc40281152bb3d8b3a1357e
  • 切换Master节点,查看Node1节点状态
$ kubeclt get nodes

总结

经过反反复复的环境操作,应该有七八次的从头部署了,终于完成了集群的安装,万事开头难,既然开了这一张,就要继续探索下去,小白如何入门K8S,带我持续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spancer124

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值