kubernetes集群部署

k8s-Kubernetes--集群部署 在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。隐藏资源管理和错误处理,用户仅需要关注应用的开发。服务高可用、高可靠。可将负载运行在由成千上万的机器联合而成的集群中。 阅读详情

K8S集群部署


kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

这个工具能通过两条指令完成一个kubernetes集群的部署:

# 创建一个 Master 节点
$ kubeadm init

# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master节点的IP和端口>

官网:Kubernetes

官方文档:Kubernetes Documentation |Kubernetes

准备开始
  • 一台兼容的 Linux 主机。Kubernetes 项目为基于 Debian 和 Red Hat 的 Linux 发行版以及一些不提供包管理器的发行版提供通用的指令
  • 每台机器 2 GB 或更多的 RAM (如果少于这个数字将会影响你应用的运行内存)
  • 2 CPU 核或更多
  • 集群中的所有机器的网络彼此均能相互连接(公网和内网都可以)
  • 节点之中不可以有重复的主机名、MAC 地址或 product_uuid。请参见这里了解更多详细信息。
  • 开启机器上的某些端口。请参见这里 了解更多详细信息。
  • 禁用交换分区。为了保证 kubelet 正常工作,你 必须 禁用交换分区。

1.准备环境

角色 IP
master 192.168.10.201
node1 192.168.10.202
node2 192.168.10.203

2.准备工作

在所有主机上执行:

关闭防火墙:
# systemctl disable --now firewalld

关闭selinux:
# sed -i 's/enforcing/disabled/' /etc/selinux/config

关闭swap:
# vim /etc/fstab
//注释或删除swap的行 
#/dev/mapper/cs-swap     none                    swap    defaults        0 0

设置主机名:
# hostnamectl set-hostname <hostname>

配置时间同步:
# yum -y install chrony

在master主机上执行:

将桥接的IPv4流量传递到iptables的链:
[root@master ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@master ~]# sysctl --system	# 生效

在master添加hosts:
[root@master ~]# cat >> /etc/hosts << EOF
> 192.168.10.201 master master.example.com
> 192.168.10.202 node1 node1.example.com
> 192.168.10.203 node2 node2.example.com
> EOF

免密认证:
[root@master ~]# ssh-keygen -t rsa
[root@master ~]# ssh-copy-id master
[root@master ~]# ssh-copy-id node1
[root@master ~]# ssh-copy-id node2

然后重启所有主机

3.安装Docker/kubeadm/kubelet

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。

所有主机安装docker

# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
# yum -y install docker-ce
# systemctl enable --now docker
# docker --version

# cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://lngv2rof.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

所有主机添加kubernetes阿里云YUM软件源

地址:kubernetes镜像-kubernetes下载地址-kubernetes安装教程-阿里巴巴开源镜像站 (aliyun.com)

# cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
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

由于版本更新频繁,这里指定版本号部署:

# yum install -y kubelet-1.20.0 kubeadm-1.20.0 kubectl-1.20.0

!!安装完成以后不要启动,设置开机自启动即可
# systemctl enable kubelet

4.部署Kubernetes Mas

【K8S】Kubernetes集群部署 在传统部署中,应用程序直接部署在物理机中,简单易用,但是不能限制每个应用程序的资源使用边界。在虚拟化部署中,它解决了传统部署中不能限制每个应用程序的资源使用边界的问题,但是它仍然无法解决容器替补、容器扩展等问题,于是此时容器化部署顺应而生。在kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的,两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块。初步判断node2的IP配错了,重装node2虚拟机,发现仍然无法连接。 阅读详情

相关推荐

(k8s)kubernetes集群基于Containerd部署

资源列表基础环境一、基础环境准备1.1、关闭Swap分区1.2、添加hosts解析1.3、桥接的IPv4流量传递给iptables的链二、准备Containerd容器运行时2.1、安装Containerd2.2、配置Containerd2.3、启动Containerd三、部署Kubernetes集群3.1、安装Kubeadm工具3.2、配置crictl工具3.3、配置Containerd镜像加速器3.4、测试crictl工具是否可用3.5、初始化Master节点。

Richardlygo的博客 2149

在OpenEuler(欧拉)系统上用kubeadm部署(k8s)Kubernetes集群

一、OpenEuler(欧拉) 系统简介openEuler 是开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目;openEuler作为一个操作系统发行版平台,每两年推出一个LTS版本。该版本为企业级用户提供一个安全稳定可靠的操作系统。具体的介绍可以参考官网https://www.openeuler.org/zh/二、Kubernetes 1.24版本发布及改动。

Richardlygo的博客 4698

八十二、【k8s集群管理】kubernetes(k8s)集群部署(超详细)

拷贝应答文件 kubernetes/config/kubeadm-init.yaml 到 master 主机。参考前面知识点完成禁用 selinux,禁用 swap,卸载 firewalld-*安装kubeadm、kubectl、kubelet、docker-ce。拷贝 kubernetes/nodejoin 到跳板机。按照如下配置准备云主机。

信创运维工程师 · 银河麒麟 & 容器实战 | 金融生产环境迁移·等保加固 | 142篇原创·17万+阅读 5492

【k8s集群部署篇】使用docker作为运行时部署Kubernetes集群

【k8s集群部署】使用docker作为运行时部署Kubernetes集群

jks212454的博客 2175

【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群

在前面的章节中,我们已经介绍了 Prometheus 的核心功能,并展示了如何使用二进制部署的Prometheus来监控 Kubernetes 的 APIServer。 但在实际的生产环境中,我们通常是将 Prometheus 部署在 Kubernetes 集群内部,来监控整个集群的资源及状态。

景天科技苑 6万+

电池保护板为什么采用NTC热敏电阻而不是PTC热敏电阻?

R25=10K,即环境温度25°时,阻值是10K),温度变化1°C,阻值相应地明显变化,温度响应很灵敏,也就能精准地反向换算出阻值对应的温度。另外,还有功率型NTC热敏电阻,其主要用在开关电源设计中,串联在市电输入上,抑制浪涌电流。电池保护板上的NTC热敏电阻(NTC一端接地,另一端接电池充电控制IC管脚),在电池温度上升时,NTC热敏电阻温度也会随之上升,从而NTC电阻值会下降,因此电池充电控制IC用ADC检测的电压值就降低,当检测到的电压值达到下限阈值时,电池充电控制IC就会停止对电池的充电或放电。

电子绿洲的博客 5626

扫地机器人全场景测试实战:从实验室到真实家庭的可靠性验证

本文深入探讨了扫地机器人从实验室到真实家庭的全场景测试方法,揭示了软硬件测试中的关键挑战。通过分析场景化测试的重要性,文章详细介绍了硬件耐久性、软件稳定性和环境适应性三大测试维度,并提供了真实家庭测试的实用方法论。消费者可重点关注清洁率、覆盖率等核心指标,同时了解测试工程师的私房建议,帮助选择更可靠的扫地机器人产品。

hhh00的博客 1076

Gromacs基础教程一:入门建议

本系列教程针对的群体:非计算化学专业,而是偏生物方向的、有少量分子动力学模拟需求的人群。

m0_67843839的博客 8572

STM32 ST-LINK Utility固件烧录全流程详解与实战技巧

本文详细解析了使用STM32 ST-LINK Utility进行固件烧录的全流程与实战技巧。从硬件连接、软件安装、核心三步操作(连接、擦除、烧录)到进阶的选项字节配置与批量脚本烧录,提供了完整的避坑指南和问题排查方案,帮助开发者高效完成STM32程序下载。

lambda的博客 768

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 364

SolidWorks软件二次开发:使用C#进行SolidWorks二次开发

SolidWorks 提供的 API(应用程序编程接口)允许开发者使用多种编程语言(如 C#、VB.NET 等)来控制和扩展 SolidWorks 的功能。API 架构基于 COM(组件对象模型),这意味着开发者可以通过引用 SolidWorks 的类型库来访问其对象模型。SolidWorks 的对象模型包括了从文档、零件、装配体到特征、草图等所有 SolidWorks 中可操作的对象。

kkchenjj的博客 3214

3、图像中文字信息提取技术全解析

本文全面解析了图像中文字信息提取(Text Information Extraction,TIE)的技术原理、挑战及应用领域。详细介绍了图像中三种主要文字形式:场景文字、字幕文字和文档文字的特点及提取难点。系统阐述了TIE技术的主要流程步骤,包括文字检测、定位、提取与增强、识别等关键阶段,并对主流技术方法进行了分类比较,包括基于连通组件、边缘、纹理等方法的优缺点分析。文章还介绍了多种其他提取技术,如二值化方法、混合方法、基于梯度的方法等,并提出了一种基于立体帧的新型场景文字提取方法,通过实验验证了该方法在召

ll5678的博客 119

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: kubernetes
下一篇: Kubernetes基础与命令
在你书包里拉屎
博客等级 码龄5年 149粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值