2. Kubeadm方式搭建k8s集群

Kubeadm方式搭建集群优缺点:

优点:
    简单优雅,支持高可用,升级方便
    
缺点:
    不易维护,文档不够细致

将master1作为deploy节点,未指定节点时默认在master1上进行操作。

建议deploy节点与其它节点配置ssh免密登录,配置过程参考:批量实现SSH免密登录


环境准备

环境准备工作请在所有节点进行。

  • 主机说明:
系统 ip 角色 cpu 内存 hostname
CentOS 7.7 192.168.1.51 master、deploy >=2 >=2G master1
CentOS 7.7 192.168.1.52 master >=2 >=2G master2
CentOS 7.7 192.168.1.53 master >=2 >=2G master3
CentOS 7.7 192.168.1.54 node >=2 >=2G node1
CentOS 7.7 192.168.1.55 node >=2 >=2G node2
CentOS 7.7 192.168.1.56 node >=2 >=2G node3
  • 设置主机名:

每个节点的主机名必须不一样,且保证节点之间可以通过hostname互相访问。

以master1为例,

# hostnamectl set-hostname master1

# vim /etc/hosts

192.168.1.51 master1
192.168.1.52 master2
192.168.1.53 master3
192.168.1.54 node1
192.168.1.55 node2
192.168.1.56 node3
  • 安装依赖包:
# yum update -y

# yum install -y curl git iptables conntrack ipvsadm ipset jq sysstat libseccomp
  • 关闭防火墙、selinux和swap,重置iptables:
# systemctl stop firewalld && systemctl disable firewalld

# sed -i 's/=enforcing/=disabled/g' /etc/selinux/config && setenforce 0

# iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT

# swapoff -a

# sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab

# systemctl stop dnsmasq && systemctl disable dnsmasq               #否则可能导致docker容器无法解析域名
  • 系统参数设置:
# 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
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_watches=89100
EOF

# sysctl -p /etc/sysctl.d/kubernetes.conf
  • 安装docker:
# curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo

# yum makecache fast

# yum install -y docker-ce

# systemctl start docker && systemctl enable docker

# cat <<EOF > /etc/docker/daemon.json
{
   
	"exec-opts":["native.cgroupdriver=systemd"]
}
EOF

# systemctl restart docker
  • 安装必要工具:
kubeadm     用于部署集群

bukelet     集群中各节点需要运行的组件,负责管理pod、容器的生命周期

kubectl     集群管理工具(master节点安装即可)
# 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=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# yum install -y kubeadm-1.14.0-0 kubelet-1.14.0-0 kubectl-1.14.0-0 --disableexcludes=kubernetes

# systemctl start kubelet && systemctl enable kubelet
  • 配置文件(部署节点):
# mkdir /software && cd /software

# git clone https://git.imooc.com/LZXLINUX/kubernetes-ha-kubeadm.git

# cd kubernetes-ha-kubeadm/ && ls
addons  configs  global-config.properties  init.sh  LICENSE  README.md  scripts

文件说明:

addons      kubernetes的插件,比如calico和dashboard

configs     包含了部署集群过程中用到的各种配置文件

scripts     包含部署集群过程中用到的脚本,如keepalived检查脚本

global-configs.
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值