【云原生·k8s】k8s集群安装部署
创始人
2024-03-22 13:07:25

带着理论,再去部署,验证你的理论

文章目录

    • 1、环境准备
    • 2、环境初始化
    • 3、防火墙初始化
    • 3、关闭swap
    • 4、yum源配置
    • 5、ntp配置
    • 6、修改linux内核参数,开启数据包转发功能
    • 7、安装docker基础环境()
    • 8、安装k8s的初始化工具kubeadm命令(所有节点执行)
    • 9、初始化k8s-master主节点(只在主节点执行)


1、环境准备

  • 准备3台机器,注意配置,别太低,否则跑不起来。

  • 系统初始化配置,如ntp等

主机名、节点ip、部署组件
# k8s kubeadm 一键自动化,安装k8s集群,安装所有运行需要的组件
# k8s-master  10.0.0.10   etcd, kube-apiserver, kube-controller-manager, kubectl, kubeadm, kubelet, kube-proxy, flannelk8s-node1  10.0.0.11  kubectl, kubelet, kube-proxy, flannel,dockerk8s-node2   10.0.0.12 kubectl, kubelet, kube-proxy, flannel,docker确保三台机器,的跨节点的容器互相通信,装网络插件flannel

2、环境初始化

cat  >>/etc/hosts <<'EOF'
10.0.0.10 k8s-master-10 
10.0.0.11 k8s-node-11
10.0.0.12 k8s-node-12
EOFping -c 2 k8s-master-10
ping -c 2 k8s-node-11
ping -c 2 k8s-node-12

3、防火墙初始化

systemctl stop firewalld NetworkManager
systemctl disable firewalld NetworkManagersed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config
setenforce 0
systemctl disable firewalld && systemctl stop firewalldgetenforce 0iptables -F
iptables -X
iptables -Ziptables -P FORWARD ACCEPT

3、关闭swap

k8s默认禁用swap功能

swapoff -a
# 防止开机自动挂载 swap 分区
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

4、yum源配置

curl  -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl  -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/*.repoyum clean all && yum makecache fast

5、ntp配置

yum install chrony -ysystemctl start chronyd
systemctl enable chronyddate# 修改配置文件,加入ntp.aliyun.com上游地址即可ntpdate -u ntp.aliyun.comhwclock -w

6、修改linux内核参数,开启数据包转发功能

# 容器夸主机通通信,底层是走的iptables,内核级别的数据包转发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
vm.max_map_count=262144
EOFmodprobe br_netfilter
# 加载读取内核参数配置文件
sysctl -p /etc/sysctl.d/k8s.conf

7、安装docker基础环境()

yum remove docker docker-common docker-selinux docker-engine -y curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum makecache fastyum list docker-ce --showduplicatesyum install docker-ce-19.03.15 docker-ce-cli-19.03.15 -y#配置docker加速器、以及crgoup驱动,改为k8s官方推荐的systemd,否则初始化时会有报错。mkdir -p /etc/dockercat > /etc/docker/daemon.json <<'EOF'
{"registry-mirrors" : ["https://ms9glx6x.mirror.aliyuncs.com"],"exec-opts":["native.cgroupdriver=systemd"]
}
EOF#启动
systemctl start docker && systemctl enable dockerdocker version

8、安装k8s的初始化工具kubeadm命令(所有节点执行)

# 安装k8s集群环境初始化的工具
#  kubelet-1.19.3 ,   # 组件,增删改查pod再具体机器上,pod可以运行主节点上,node节点上
#  kubeadm-1.19.3      # k8s版本 1.19.3 ,自动拉去k8s基础组件镜像的一个工具
#  kubectl-1.19.3      # 管理,维护k8s客户端换,和服务端交互的一个命令行工具

所有机器执行

[root@k8s-master-10 ~]#cat init-k8s.sh 
#设置阿里云源curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repocat < /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.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOFyum clean all && yum makecache#yum list kubeadm --showduplicates   列出,这个阿里云k8s源,提供了哪些k8s版本让你玩# 安装指定版本 kubeadm-1.19.3   ,安装的kubeadm版本,就是决定了,拉去什么版本的k8s集群版本的镜像yum install kubelet-1.19.3 kubeadm-1.19.3   kubectl-1.19.3 ipvsadm -y

k8s安装完毕之后,设置所有节点的kubelet开机运行

为何要让kublet,docker,开机启动

在这里插入图片描述

## 查看kubeadm 版本,初始化的k8s版本信息,就是 v1.19.3版本$ kubeadm version[root@k8s-master-10 ~]#kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:47:53Z", Go## 设置kubelet开机启动
systemctl enable kubelet
systemctl enable docker

先保留所有节点的应用 端口状态,待会看k8s跑起来之后,占用了哪些端口,知道哪些程序运行了

在这里插入图片描述

9、初始化k8s-master主节点(只在主节点执行)

# kubeadm init   初始化,加入一些参数#
kubeadm init \
--apiserver-advertise-address=10.0.0.10 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.19.3 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.2.0.0/16 \
--service-dns-domain=cluster.local \
--ignore-preflight-errors=Swap \
--ignore-preflight-errors=NumCPUkubeadm init \
--apiserver-advertise-address=10.0.0.10 \   # api-server运行再k8s-master的ip上
--image-repository registry.aliyuncs.com/google_containers \ # 拉去k8s镜像,从阿里云上获取,否则默认是国外的k8s镜像地址,下载不了
--kubernetes-version v1.19.3 \  # 和kubeadm保持一直
--service-cidr=10.1.0.0/16 \    #  k8s服务发现网段设置,service网段
--pod-network-cidr=10.2.0.0/16 \   # 设置pod创建后,的运行网段地址
--service-dns-domain=cluster.local \ #  k8s服务发现网段设置,service资源的域名后缀
--ignore-preflight-errors=Swap \  # 忽略swap报错
--ignore-preflight-errors=NumCPU  #  忽略cpu数量报错

相关内容

热门资讯

世卫组织:美国有权退出 但须缴... 据央视新闻报道,美国即将正式退出世界卫生组织,但其尚未缴纳此前拖欠的会费。当地时间16日,世卫组织发...
“90后”越剧演员陈丽君、李云... 转自:扬子晚报近日,据美丽浙江报道,90后越剧演员陈丽君、李云霄,破格晋升一级演员(正高级),两人曾...
青春当燃不让!西安交大附中空港... 为丰富校园文化生活,锤炼学生拼搏意志,凝聚班级团队力量。近日,西安交大附中空港校区举办了第四届“布衣...
去年海南省海洋生产总值同比增长... 1月17日消息,从海南省海洋厅获悉,海南省海洋经济延续强劲增长态势,经初步测算,2025年海南省海洋...
北大光华刘俏:更大力度推动“反... 1月17日,北京大学光华管理学院院长刘俏在第二十七届北大光华新年论坛上表示,“十五五”时期,我国将实...