🐇明明跟你说过:个人主页
🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅
🔖行路有良友,便是天堂🔖
目录
一、引言
1、Kubernetes简介
Kubernetes(通常简称为K8s)是一个开源的容器编排平台,最初由Google开发,并于2014年发布为开源项目。它提供了一种自动化容器化应用程序部署、扩展和管理的方法。
Borg 的诞生:
谷歌的工程师们在面对大规模、分布式、可扩展应用的挑战时,创建了 Borg 系统,用于管理和运行谷歌的内部服务和应用。Borg 采用了容器化的思想,将应用程序打包成容器并在集群中运行。
Omega 的演进:
Borg 的经验在谷歌内部得到了积累和总结。在 Borg 的基础上,谷歌发展出了 Omega 系统,这是 Borg 的下一代版本,继续探索分布式系统管理的更高级别的抽象。
Kubernetes 的诞生:
2014年,Google 将 Borg 的一部分经验开源,推出了 Kubernetes 项目。Kubernetes 最初是由 Google、Red Hat、Microsoft 等公司共同推动的,旨在为云原生应用提供一个开源的容器编排和管理平台。可以说,k8s是站在Borg这个巨人的肩膀上而开发出的容器编排管理系统
推出后,Kubernetes 很快得到了开源社区的广泛关注和参与。云服务提供商、软件公司以及大量的开发者纷纷加入到 Kubernetes 的开发和维护中,形成了庞大的开源社区。
2、Kubernetes 1.28版本特性介绍
Kubernetes 1.28版本作为2023年的第二个主要版本更新,引入了一系列重要的新功能和改进。
非正常节点关闭恢复:
- Kubernetes 1.28版本中,节点非体面关闭(non-graceful shutdown)特性达到GA阶段,意味着kubelet能够更加稳定地检测到节点即将关闭的事件,并确保在节点实际下线前正确、有序地终止节点上的Pod,从而避免数据丢失和资源占用问题。
内置Sidecar容器支持:
- 此版本增强了对Sidecar容器的内置支持,包括更方便的配置管理、生命周期管理和资源隔离等方面,以更好地支持微服务架构中的辅助容器。
Job优化:
- 对Kubernetes Job对象进行了优化,涉及到更快的完成状态判定、更灵活的调度策略以及作业清理机制的改进等。
Proxy改进:
- Kubernetes代理组件(kube-proxy)的功能得到了增强,涉及性能提升、资源利用率改进或新增网络策略特性等。
调度框架优化:
- 调度框架在Kubernetes 1.28版本中进行了调整,减少了不必要的重试操作,从而提升了整体调度性能,这对于集群规模较大或者工作负载较为复杂的场景尤其重要。
3、安装前的准备工作
准备至少2台服务器,虚拟机或服务器都可以,资源配置如下
※ 安装k8s至少需要2G或以上内存
二、环境准备
1、禁用防火墙和SELinux
在两台机器上都要执行
关闭防火墙并禁止开机自启动
[root@master ~]# systemctl stop firewalld && systemctl disable firewalld
[root@node ~]# systemctl stop firewalld && systemctl disable firewalld
关闭SELinux
[root@master ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@master ~]# setenforce 0
[root@master ~]# getenforce
Permissive
[root@node ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@node ~]# setenforce 0
[root@node ~]# getenforce
Permissive
2、设置时间同步
[root@master ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@master ~]# date
Tue Mar 19 14:10:22 CST 2024
[root@node ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@node ~]# date
Tue Mar 19 14:10:22 CST 2024
3、关闭swap交换分区
[root@master ~]# swapoff -a
[root@node ~]# swapoff -a
4、修改hosts文件
[root@master ~]# vi /etc/hosts
# 添加如下两行内容
192.168.40.110 master
192.16