K8S集群安装与部署(Linux系统)

在Linux中进行K8s部署 准备工作 部署K8s集群对服务器的要求: 1)3台以上装有CentOS7.7版本以上的64位系统的服务器; 2)每台服务器的硬件配置都是内存最少2G,CPU至少双核,硬盘至少30GB; 3)集群中所有服务器之间网络互通; 4)可以访问外网,需要拉取镜像; 5)禁止swap分区。 阅读详情

一、环境说明:CentOS7、三台主机(Master:10.0.0.132、Node1:10.0.0.133、Node2:10.0.0.134)

二、准备环境:

  • 映射

在这里插入图片描述
在这里插入图片描述

  • 关闭防火墙

在这里插入图片描述

三、etcd集群配置

  • 安装etcd(Master)
[root@Master ~]# yum install -y kubernetes-master etcd
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
  • 修改etcd配置文件/etc/etcd/etcd.conf(Master)
 5 ETCD_LISTEN_PEER_URLS="10.0.0.132:2380"
 6 ETCD_LISTEN_CLIENT_URLS="http://10.0.0.132:2379,http://127.0.0.1:2379"
 9 ETCD_NAME="master"
 20 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.132:2380"
 21 ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.132:2379"
 26
ETCD_INITIAL_CLUSTER="master=http://10.0.0.132:2380,node1=http://10.0.0.133:2380,node2=http://10.0.0.134:2380"
  • 安装K8S节点组件、etcd、flannel以及docker(Node1和Node2)
[root@Node1 ~]# yum install -y kubernetes-node etcd flannel docker
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.aliyun.com
  • 修改etcd配置文件/etc/etcd/etcd.conf(Node1)
 5 ETCD_LISTEN_PEER_URLS="http://10.0.0.133:2380"
 6 ETCD_LISTEN_CLIENT_URLS="http://10.0.0.133:2379"
 9 ETCD_NAME="node1"
 20 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.133:2380"
 21 ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.133:2379"
 26
ETCD_INITIAL_CLUSTER="master=http://10.0.0.132:2380,node1=http://10.0.0.133:2380,node2=http://10.0.0.134:2380"
  • 修改etcd配置文件/etc/etcd/etcd.conf(Node2)
5 ETCD_LISTEN_PEER_URLS="http://10.0.0.134:2380"
6 ETCD_LISTEN_CLIENT_URLS="http://10.0.0.134:2379"
9 ETCD_NAME="node2"
20 ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.134:2380"
21 ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.134:2379"
26
ETCD_INITIAL_CLUSTER="master=http://10.0.0.132:2380,node1=http://10.0.0.133:2380,node2=http://10.0.0.134:2380"
  • 启动etcd
[root@Master ~]# systemctl restart etcd
[root@Node1 ~]# systemctl restart etcd
[root@Node2 etcd]# systemctl restart etcd
[root@Master etcd]# etcdctl cluster-health
member 608369cbfeecea7f is healthy: got healthy result from http://10.0.0.134:2379
member 855cd77f1417e4bb is healthy: got healthy result from http://10.0.0.132:2379
member cd2399c9b3be0308 is healthy: got healthy result from http://10.0.0.133:2379
cluster is healthy
  • Master配置kube-api服务(/etc/kubernetes/apiserver)
#kubernetes system config
#The following values are used to configure the kube-apiserver
#The address on the local server to listen to.
#KUBE_API_ADDRESS="--insecure-bind-address=127.0.0.1"
KUBE_API_ADDRESS="--address=0.0.0.0"

# The port on the local server to listen on.
KUBE_API_PORT="--port=8080"

# Port minions listen on
KUBELET_PORT="--kubelet-port=10250"

# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://10.0.0.132:2379,http://10.0.0.133:2379,http://10.0.0.134:2379"

# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"

# default admission control policies
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"

# Add your own!
KUBE_API_ARGS=""
  • 启动服务
[root@Master etcd]# systemctl start kube-apiserver
[root@Master etcd]# systemctl start kube-controller-manager
[root@Master etcd]# systemctl start kube-scheduler
  • IP地址加端口8080

在这里插入图片描述

  • 配置node节点(node1和node2)
  • 修改kubernetes全局配置文件(/etc/kubernetes/config)

在这里插入图片描述

  • 修改kube-proxy配置文件(/etc/kubernetes/proxy)

在这里插入图片描述

  • 修改kubelet配置文件(/etc/kubernetes/kubelet)

在这里插入图片描述

  • 启动服务
[root@Node1 ~]# systemctl enable kubelet
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service.
[root@Node1 ~]#
[root@Node1 ~]# systemctl enable kube-proxy
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-proxy.service to /usr/lib/systemd/system/kube-proxy.service.
[root@Node1 ~]# systemctl start kube-proxy
[root@Node1 ~]# systemctl start kubelet
  • master上检查节点情况
[root@Master ~]# kubectl get nodes
NAME         STATUS    AGE
10.0.0.133   Ready     1m
10.0.0.134   Ready     1m
[root@Master ~]#
  • 配置网络
  • 在Master节点预先配置Docker容器使用的网段和子网
[root@Master ~]# etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16","SubnetMin":"172.17.1.0","SubnetMax":"172.17.254.0"}'
{"Network":"172.17.0.0/16","SubnetMin":"172.17.1.0","SubnetMax":"172.17.254.0"}
  • 在Node1和Node2节点修改/etc/sysconfig/flanneld配置文件
# Flanneld configuration options

# etcd url location.  Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://10.0.0.132:2379,http://10.0.0.133:2379,http://10.0.0.134:2379"

# etcd config key.  This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/atomic.io/network"

# Any additional options that you want to pass
#FLANNEL_OPTIONS="--iface=ens33"
  • 启动flanneld(Node1和Node2)
[root@Node2 ~]# systemctl enable flanneld
Created symlink from /etc/systemd/system/multi-user.target.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
Created symlink from /etc/systemd/system/docker.service.wants/flanneld.service to /usr/lib/systemd/system/flanneld.service.
[root@Node2 ~]# systemctl start flanneld
  • 检验
[root@Node2 ~]# ip address show|grep flannel
4: flannel0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1472 qdisc pfifo_fast state UNKNOWN group default qlen 500
    inet 172.17.49.0/16 scope global flannel0

[root@Node1 ~]#  cd /run/flannel
[root@Node1 flannel]# ll
total 8
-rw-r--r-- 1 root root 174 Sep 27 16:01 docker
-rw-r--r-- 1 root root  98 Sep 27 16:01 subnet.env
[root@Node1 flannel]# cat docker
DOCKER_OPT_BIP="--bip=172.17.80.1/24"
DOCKER_OPT_IPMASQ="--ip-masq=true"
DOCKER_OPT_MTU="--mtu=1472"
DOCKER_NETWORK_OPTIONS=" --bip=172.17.80.1/24 --ip-masq=true --mtu=1472"
[root@Node1 flannel]# cat subnet.env
FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.80.1/24
FLANNEL_MTU=1472
FLANNEL_IPMASQ=false
Linux——K8s集群部署过程 registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager // K8S 的控制器。registry.cn-hangzhou.aliyuncs.com/google_containers/coredns // k8S 集群内部的域名解析。registry.cn-hangzhou.aliyuncs.com/google_containers/etcd // 存储K8S集群的状态数据。 阅读详情

相关推荐

K8S(Kubernetes)简介和官方安装部署保姆级详细教程

Kubernetes简称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统,起源于Google 集群管理工具Borg。

BlogPan的专栏 4万+

k8s-linux上安装

目录1、环境准备1.1、服务器准备1.2、服务器hostname设置1.3、添加hosts 网络主机配置,三台虚拟机都要设置1.4、关闭防火墙,三台虚拟机都要设置,生产环境跳过这一步2、安装docker,3台服务器都安装3、安装kubeadmin加载k8s镜像3.1、添加kubernetes yum源3.2、查看kubeadm版本3.3、下载3.4、下载后,进入kubernetes包,发现kubectl和kubelet存在1.24.1版本3.4.1 删除1.24.1版本3.4.2 下载kubelet-1.1

jll126的博客 7105

Linux系统下安装部署Kubernetes集群

单机部署准备工作:1)主板BIOS开启VT-x/AMD-v:要求运行虚拟机的主机BIOS开启VT-x/AMD-v。 如果是在windows开启Linux操作系统的虚拟机,那么需要在虚拟机里面进一步设置开启虚拟化。 2)For linux:安装VirtualBox或者KVM 安装kvm: 1、安装kubectl1)直接打开网站kubectl进行下载。然后在下载的路径下执行命令2)命

caneo_nj的博客 2047

Linux安装Kubernetes(k8s)详细教程

Linux安装Kubernetes(k8s)详细教程

Meta39的博客 6779

kubernetes(k8s)安装详细教程

k8s安装 主机硬件配置说明 最低要求:2c2g由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为master01;其中2台为worker节点,名称分别为:worker01及worker02 2.查看ip配置,所有主机均需要操作 3.主机名与IP地址解析,所有主机均需要操作 4.防火墙配置,所有主机均需要操作 5.SELINUX配置,所有主机均需要操作。修改SELinux配置需...

qq_40431336的博客 1万+

部署k8s基础环境、配置内核模块、基本组件安装

K8S基本概念(功能、架构);部署k8s基础环境;配置内核模块;基本组件安装;

m0_73907608的博客 2731

Linux系统【RockyLinux9.4】下K8S集群【1.31.0】安装部署指南

公司之前一直使用的是CentOS系统作为测试、开发、生产环境的基础系统镜像,由于最近的CentOS的镜像彻底终止维护之后,我们在为后续项目的基础系统镜像选型进行的调研, 最好是可以平替的进行类似系统的移植, 经过多番对比, 决定使用Rocky Linux系统来完成我们开发测试环境的系统移植,系统镜像的下载、安装、部署都比较简单, 基本跟CentOS发现版都很类似, 这里就不进行详细讲解说明了, 下面我们主要演示在Rocky Linux系统下完成K8S集群开发测试环境搭建的整个过程。

最爱嫣夜来 5888

k8s集群部署Harbor镜像仓库

通过在Kubernetes集群中部署Harbor镜像仓库,你可以更好地管理、安全地存储和有效地使用容器镜像,提高了容器化环境的可维护性和安全性。

花海~ 2130

Kubernetes 部署教程 ( Rocky 部署 k8s ) ( Linux 部署 k8s ) ( k8s 部署教程 )

Kubernetes k8s Rocky 搭建 Kubernetes Rocky 搭建 k8s Linux 搭建 Kubernetes Linux 搭建 k8s

开发。小白 的博客 2612

Vector CANoe VT2516A实战:从硬件连接到CAPL脚本的完整配置指南

本文详细介绍了Vector CANoe VT2516A板卡从硬件连接到CAPL脚本编写的完整配置指南。涵盖硬件接线原则、VT System配置避坑技巧、系统变量创建规范、可视化Panel设计、CAPL脚本调试及典型故障排查案例,帮助工程师快速掌握VT2516A板卡的应用实践,提升汽车电子测试效率。

weixin_30608503的博客 254

Linux内核4.14版本——drm框架分析(1)——drm简介

drm框架分析

yangguoyu8023的博客 1万+

基于 Keepalived 容灾保活机制的 Kubernetes 高可用集群部署实践

基于 4 台主机搭建高可用 Kubernetes 集群,通过 Keepalived 与 HAProxy 构建容灾保活机制,保障集群核心组件的稳定运行。四台2U2G的Linux虚拟机,镜像版本为CentOS7.6远程连接软件,本文以XShell为例虚拟机均安装了Docker软件,并配置可用的镜像加速器虚拟机网络选择NAT模式虚拟机的uuid均不相同(使用uuidgen获取新的uuid)虚拟机IP地址主机名master01master02master03worker01。

2301_80440447的博客 1127

别再只盯着YOLOv8了!手把手带你用PaddleDetection的PP-YOLOE+搞定你的第一个检测项目

本文介绍了PP-YOLOE+在目标检测领域的优势与应用实践,对比YOLOv8展示其在精度、速度和部署便利性上的突破。通过详细的代码示例和实战教程,帮助开发者快速上手PaddleDetection工具链,实现产业级目标检测项目,提升开发效率。

weixin_42701915的博客 185

K8S集群安装部署 ---- Kubernetes

文章目录1. 虚拟服务器的构建2. 安装软路由3. 系统初始化4. 开启IPVS的前置条件5. 安装Docker6. 安装Kubeadm7. 初始化节点8. 网络部署9. 配置Harbor私有仓库10. Harbor私有仓库的使用11. K8S的优点 1. 虚拟服务器的构建 这里需要用到5台虚拟服务器,其中三台是节点服务器。另外两台分别是装有 Harbor 私有仓库的服务器和安装koolshare软路由的服务器: 2. 安装软路由 指定使用老毛桃镜像,启动软路由服务器: 启动后选择第一项,启动 Wi.

NiuXL的编程技术网络日志 1502

龙虾 Skill 技能库|OpenClaw+Hermes 全集成 一键调用所有 AI 技能

龙虾 Skill 技能库、OpenClaw、Hermes Agent、AI 技能集成、本地 AI 自动化、办公工具、数字员工

weixin_42219287的博客 624

均值场博弈_平均场博弈(mean field game)

The New Big Fish Called Mean-Field Game Theory原文链接http://www.science4all.org/article/mean-field-games/​www.science4all.org主要内容在经典博弈论中,它对附近其他鱼类的行为做出反应。这是非常复杂的,因为不同的鱼类之间会有大量的相互作用。这意味着经典博弈论对应于一长串高度耦合的方程。...

weixin_34773479的博客 3682

k8s部署

也是master node1和node2都要安装(我这里就显示了一台)安装K8S部署工具(master node1和node2都要安装)在此阶段如果生成的集群token找不到了可以重新生成。在master节点拉取K8S所需镜像。在浏览器中访问harbor的关键。#指定网络插件名称及基础容器镜像。#部署软件仓库,添加K8S源。#启动kubelet服务。#启动kubelet服务。#指定集群配置文件变量。

2301_78529775的博客 414

Ubuntu安装pytorch3d的最便捷方法【原创】

Ubuntu安装pytorch3d的最便捷方法

qq_54900679的博客 2924

Sealos安装K8s集群

Sealos安装K8s集群环境

firstblh的博客 745

用AI科研绘图全新升级!借助谷歌新发布模型Nano Banana pro实测一键绘制机制图与技术路线图,直接告别文字乱码与低画质

之前有同仁反馈,用Nano Banana画科研插图的时候,要么文字部分容易乱码,要么抓不住关键内容,画出来的效果反复修改后,还是达不到理想的效果。终于在Gemini 3发布没几天,万众期待的大香蕉模型也成功升级到了Pro版本,官方名称叫“Gemini 3 Pro Image”,实际上也就是我们说的Nano Banana 2。这次的Nano Banana Pro模型,不仅可以直出4K高清图,还能自定义比例,推理能力和中文文字的稳定性也得到了提升。

智能AI让学术科研更容易 1887

Cesium 实现动态加载气象数据:渲染成动态雨雪/云层效果(源码 + 原理)

本文介绍了在Cesium中实现动态天气效果的技术方案。核心思路是通过时间轴驱动多层数据动态切换,包括:1)时间维度处理,按序列加载不同气象图层;2)空间维度处理,将气象数据切分为瓦片;3)效果层实现,制作风场、降水等动态可视化效果。文章详细讲解了后端数据预处理(生成瓦片和风场JSON)、前端实现(双层雷达瓦片交替渐变、风场粒子系统)的具体方法,并提供了完整的代码示例。此外还探讨了雨雪粒子、云层效果等增强功能,以及工程化建议,为构建科学准确的动态天气可视化系统提供了实用解决方案。

专注AI大模型,软件混淆,授权 623

使用sealos部署Kubernetes

使用seals部署Kubernetes

爱睡懒觉的熊博客 1437

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

使用kubeadm安装k8s集群

使用kubeadm安装k8s集群 1.服务器要求 建议最小硬件配置:2核/2G/20G 网络需求:最好能访问外网,需要拉取一些必要的镜像;若没有网络条件,需要提前导入必要的镜像 2.kubeadm常用工具功能: • kubeadm init:初始化一个Master节点 • kubeadm join:将工作节点加入集群 • kubeadm upgrade:升级K8s版本 • kubeadm token:管理 kubeadm join 使用的令牌 • kubeadm reset:清空 kubeadm ini

qq_34434565的博客 534

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux系统部署k8s集群

本文详细介绍了在Linux系统上手动配置Kubernetes集群的分步流程。主要内容包括:所有节点的基本配置(禁用Swap、设置主机名、内核调优、安装containerd);控制平面节点的kubeadm初始化;工作节点的加入方法;网络插件(Flannel/Calico)的安装;以及集群验证和必要附加组件(Metrics Server、Dashboard等)的部署。文章还提供了生产环境注意事项(高可用、证书管理、安全加固)和排错命令速查,特别强调手动配置更适合学习场景,生产环境建议使用kubeadm等工具简化

LCY133的博客 793

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

linux部署k8s

k8s介绍: https://kubernetes.io/docs/concepts/overview/k8s下载:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md#downloads-for-v1271k8s安装:https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

OceanWaves1993的博客 463

kubernets集群的安装-node节点安装-(简单可用)-超详细

kubernetes,简称K8s(库伯内特),是用8代替名字中间的8个字符“ubernete”而成的缩写云计算的三种主要服务模式——基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)Kubernetes是一个应用于大规模部署你分布式应用的平台,它管理着一系列的主机或服务器(Node节点),节点中最小单元PodKubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统。

mogexiuluo的博客 1150
上一篇: zabbix微信告警
下一篇: 用IPV6地址远程连接服务器端(Linux系统)
Chensay.
博客等级 码龄6年 1万+粉丝 122原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值