零基础搭建k8s集群(一)- 基础准备

关联文章列表

一、前言

本栏目主题会讲解 k8s 集群的零基础构建,从环境准备防火墙管理集群搭建网络组件安装拓展环境安装管理逐步进行介绍,在进入正式内容前,如果您还未了解一些 k8s 基础概念信息,推荐您先阅读下文章 《k8s学习-核心概念篇

二、大体步骤说明

  1. 安装 DockerKubernetes 需要依赖 Docker,因此需要在每台服务器上安装 Docker
  2. 安装 kubeadmkubeletkubectl:这些组件是 Kubernetes 集群的核心组件,需要在每台服务器上安装。
  3. 初始化 Kubernetes 集群:使用 kubeadm 命令初始化 Kubernetes 集群,并将三台服务器作为 Kubernetes 集群的节点。
  4. 安装网络插件:Kubernetes 集群需要网络插件才能实现容器之间的通信,可以选择使用 FlannelCalicoWeave Net 等网络插件。

在安装Kubernetes集群时,需要注意防火墙的配置,确保Kubernetes集群的网络流量可以正常通过防火墙。

以下是一些常见的防火墙配置:

  1. 开放 Kubernetes API Server 的端口:Kubernetes API Server 的默认端口为 6443,需要确保这个端口已经在防火墙中开放。
  2. 开放 Node 节点的端口:Kubernetes 节点需要开放一些端口,以便容器之间进行通信。需要确保这些端口已经在防火墙中开放。
  3. 关闭 SELinux 或配置 SELinux 策略:如果使用 SELinux,需要配置相应的 SELinux 策略,以便 Kubernetes 集群可以正常工作。
  4. 开放 Flannel 或其他网络插件的端口:网络插件需要使用一些端口来实现容器之间的通信,需要确保这些端口已经在防火墙中开放。

在Kubernetes集群安装完成后,可以使用 kubectl 命令管理集群,例如创建和删除 PodDeploymentsServices 等资源。
需要注意,Kubernetes 集群是一个复杂的分布式系统,需要仔细考虑各个组件之间的配置和交互,以确保集群的可靠性和稳定性。

三、服务器安排和系统参数调整

此处准备三台机器,可以使物理机器、云机器、虚拟机等。

my_middleware-dev_10.12.3.40   => 192.168.3.35
my_middleware-dev_10.12.3.41   => 192.168.3.34
my_middleware-dev_10.12.3.42   => 192.168.3.33

🍭一般情况下,k8s 的 master 节点和 worker 节点是单独部署的

  • master 节点只做调度相关工作
  • worker 节点进行对应 pod 的部署等
    但是我们的服务器资源是有限的,所以如果要搭建高可用的 master 节点,只能把 master 也同时当做 worker 使用了,后续会详细说明

🔔 机器准备好后,请在每台服务器进行如下的设置调整,不然可能会出现不可预料的问题!

# 设置内核IP转发模块
cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
overlay
EOF

# 设置iptables对网桥数据进行处理
cat <<EOF | tee /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.swappiness = 0
EOF

# 调整好上面参数后进行应用变更
sysctl --system

# 查看系统是否开启了 swap
sudo swapon -s
# 提前关闭 swap; 【注意】并请更新配置文件 /etc/fstab  将其中所有包含 swap 分区的行注释掉
sudo swapoff -a

# 需要关闭 SeLinux
#临时禁用Selinux
setenforce 0
#永久禁用Selinux
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#加载br_netfilter模块(可以使 iptables 规则在 Linux Bridges 上面工作,用于将桥接的流量转发至iptables链)
#如果没有加载br_netfilter模块,并不会影响不同node上的pod之间的通信,但是会影响同一node内的pod之间通过service来通信
modprobe br_netfilter

#加载网络虚拟化技术模块
modprobe overlay

#检验网桥过滤模块是否加载成功
lsmod | grep -e br_netfilter -e overlay

#安装时间同步组件
yum install -y ntpdate

#对齐一下各服务器的当前时间
ntpdate time.windows.com

本节内容先讲到这里,下一节内容会介绍依赖软件的安装,一点点学习汇总,以便加深印象!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
从零开始搭建一个 Kubernetes(简称K8s集群可以按照以下步骤进行: 1. 选择操作系统:选择适合你的需求的操作系统,比如Ubuntu、CentOS等。 2. 安装Docker:Kubernetes使用Docker容器来运行应用程序,因此需要先安装Docker。可以通过官方文档来安装适合你操作系统版本的Docker。 3. 安装Kubernetes的控制节点(Master):在控制节点上安装Kubernetes的各个组件,包括kube-apiserver、kube-controller-manager、kube-scheduler等。可以通过二进制文件手动安装,或者使用Kubeadm工具来简化安装过程。 4. 配置网络:配置网络使得集群内的各个节点能够相互通信。可以选择使用Flannel、Calico等网络插件来实现网络配置。 5. 添加工作节点(Worker):在工作节点上安装Docker和Kubernetes的各个组件,比如kubelet和kube-proxy。可以使用同样的方式安装Docker和Kubernetes组件。 6. 加入工作节点到集群:在控制节点上使用Kubeadm工具将工作节点加入到集群中。 7. 部署应用程序:通过Kubernetes的资源对象(如Pod、Service、Deployment等)来部署应用程序。可以使用kubectl命令行工具或者YAML文件来定义和创建这些资源对象。 以上是一个大致的搭建Kubernetes集群的步骤,具体的安装和配置过程可能会因为操作系统和版本的不同而有所差异。你可以参考官方文档或者一些教程来获取更详细的指导。同时,搭建Kubernetes集群需要一定的系统管理和网络知识,确保你有足够的了解和准备

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不认输的猴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值