栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

k8s集群搭建

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s集群搭建

目录
  • 一、准备环境(所有节点都要操作)
  • 二、初始化环境(所有节点都需要操作)
    • 2.1 主机名解析
    • 2.2 时间同步
    • 2.3 关闭防火墙和selinux
    • 2.4 关闭swap分区
    • 2.5 允许 iptables 检查桥接流量
    • 2.6 修改linux的内核参数
  • 三、安装docker(所有节点都要操作)
  • 四、安装k8s(所有节点都要操作)
    • 4.1 安装k8s组件
      • 4.1.2 配置kubelet的cgroup
    • 4.2 安装k8s集群
      • 4.2.1 准备集群镜像
      • 4.2.2 初始化集群(在master上操作即可)
        • 4.2.2.2 将node节点加入集群
      • 4.3 安装flannel网络插件(在master上操作即可)

一、准备环境(所有节点都要操作)
角色IP地址组件
master192.168.91.128docker,kubectl,kubeadm,kubelet
node192.168.91.129docker,kubectl,kubeadm,kubelet
二、初始化环境(所有节点都需要操作) 2.1 主机名解析
[root@master ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.91.128 master
192.168.91.129 node
2.2 时间同步
[root@master ~]# systemctl start chronyd
[root@master ~]# systemctl enable chronyd
2.3 关闭防火墙和selinux
[root@master ~]# systemctl stop firewalld    #临时关闭firewalld
[root@master ~]# systemctl disable firewalld   #永久关闭firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master ~]# setenforce 0    #临时关闭selinux
[root@master ~]# sed -ri '/^SELINUX=/ c SELINUX=disabled' /etc/selinux/config  #永久关闭selinux

如果有iptables防火墙,请关闭

2.4 关闭swap分区
[root@master ~]# swapoff -a  #临时关闭swap
[root@master ~]# sed -ri 's/.*swap.*/#&/g' /etc/fstab  #永久关闭swap
2.5 允许 iptables 检查桥接流量

确保 br_netfilter 模块被加载。这一操作可以通过运行 lsmod | grep br_netfilter 来完成。若要显式加载该模块,可执行 sudo modprobe br_netfilter。

为了让你的 Linux 节点上的 iptables 能够正确地查看桥接流量,你需要确保在你的 sysctl 配置中将 net.bridge.bridge-nf-call-iptables 设置为 1。

[root@master ~]# yum install ipset ipvsadm ipvsadmin -y    #安装所需要的应用
[root@master ~]# cat < /etc/sysconfig/modules/ipvs.modules  #加载模块脚本
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
[root@master ~]# chmod +x /etc/sysconfig/modules/ipvs.modules
[root@master ~]# /bin/bash /etc/sysconfig/modules/ipvs.modules
[root@master ~]# lsmod | grep -e -ip_vs -e nf_conntrack_ipv4   #检查模块是否加载成功
2.6 修改linux的内核参数
[root@master ~]# cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
[root@master ~]# sysctl -p   #重新加载配置文件
[root@master ~]# modprobe br_netfilter   #加载网桥过滤模块
[root@master ~]# lsmod | grep br_netfilter   #查看模块是否加载成功
三、安装docker(所有节点都要操作)
#下载yum源
[root@master ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
#安装docker
[root@master ~]# yum install --setopt=obsoletes=0 docker-ce-18.06.3.ce-3.el7 -y

配置docker镜像加速器(如何配置请转到的另一篇文章,这里就不多说了)

[root@master ~]#  systemctl restart docker
四、安装k8s(所有节点都要操作) 4.1 安装k8s组件
#配置yum源
[root@master ~]# cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
> EOF

#安装kubeadm、kubelet和kubectl
[root@master ~]# yum install -y kubelet-1.15.1 kubeadm-1.15.1 kubectl-1.15.1
4.1.2 配置kubelet的cgroup
[root@master ~]# cat < /etc/sysconfig/kubelet
KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"
EOF
[root@master ~]# systemctl enable kubelet
4.2 安装k8s集群 4.2.1 准备集群镜像
#查看所需镜像
[root@master ~]# kubeadm config images list
#下载镜像
[root@master ~]# images=(
	kube-apiserver:v1.15.12
	kube-controller-manager:v1.15.12
	kube-scheduler:v1.15.12
	kube-proxy:v1.15.12
	pause:3.1
	etcd:3.3.10
	coredns:1.3.1
)
[root@master ~]# for imageName in ${images[@]};do
	docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
	docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
	docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName 
done
#查看镜像是否全部下载成功
[root@master ~]# docker images
4.2.2 初始化集群(在master上操作即可)
# 创建集群
[root@master ~]# kubeadm init 
	--apiserver-advertise-address=192.168.91.128        #master节点IP地址
	--image-repository registry.aliyuncs.com/google_containers 
	--kubernetes-version v1.15.12        #k8s版本
	--service-cidr=10.96.0.0/12 
	--pod-network-cidr=10.244.0.0/16
	
# 创建必要文件
[root@master ~]# mkdir -p $HOME/.kube
[root@master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.2.2.2 将node节点加入集群

[root@node ~]# kubeadm join 192.168.91.128:6443 --token 22x6sp.y3v21kko0fn6jmf1     --discovery-token-ca-cert-hash sha256:ed9351f4047fc997ae4125757b602cd762f2be7ed87f6cb709bd3b81f07ed83f

在master上查看集群信息

[root@master ~]# kubectl get nodes
NAME     STATUS     ROLES    AGE     VERSION
master   NotReady   master   5m49s   v1.15.1
node     NotReady      5s      v1.15.1

[root@master ~]# kubectl get nodes -o wide    #查看详细信息
4.3 安装flannel网络插件(在master上操作即可)

去baidu下载即可

[root@master ~]# kubectl apply -f flannel.yml

再次查看集群状态,status那一栏成为ready,此时k8s集群安装成功

k8s tab健补全方法(单击转入)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338451.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号