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

QCM6490平台DDR测试:从QDUTT配置到眼图分析的实战指南

本文详细介绍了QCM6490平台DDR测试的全流程,从QDUTT工具安装配置到眼图分析,提供了实战操作指南和常见问题解决方案。通过具体案例分享,帮助工程师掌握DDR测试技巧,确保内存稳定性,特别适用于物联网和边缘计算设备的开发调试。

weixin_33910191的博客 458

告别IIS折腾!用.NET8+Kestrel在Windows上5分钟搞定Web API部署

本文介绍了如何使用.NET8和Kestrel在Windows上快速部署Web API,告别繁琐的IIS配置。通过5分钟实战教程,开发者可以轻松实现高性能、跨平台的API服务部署,显著提升开发效率和系统性能。

weixin_42528780的博客 246

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

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

2301_80440447的博客 1127

IC版图设计之OASIS文件格式详解

OASIS(Open Artwork System Interchange Standard)是继GDSII之后新一代的集成电路版图数据交换标准,由SEMI在2004年正式发布(SEMI标准号:SEMI P39)。高压缩率:相比GDSII可减少3-10倍文件体积扩展性强:支持纳米级工艺的复杂图形描述跨平台兼容:独立于EDA工具和操作系统安全增强:内置校验和与加密支持。

ZZcppc的博客 2440

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

新版MQL语言程序设计:用vscode编写编译调试mt4和mt5程序

使用VScode搭建MT4与MT5开发环境,实现编辑编译调试统一。

超哥量化的博客 6872

DFRobot MGC3130电容式手势传感器库深度解析

电容式近场感应(Electric Near Field Sensing)是一种非接触、抗干扰的三维空间感知技术,其原理基于人体介电特性对高频电场的扰动响应,具备低功耗、高鲁棒性与零物理接触等核心优势。该技术广泛应用于医疗人机交互、工业HMI、智能家电等对可靠性与环境适应性要求严苛的嵌入式场景。DFRobot_MGC3130库正是面向Microchip MGC3130芯片的工程化实现,封装了I²C驱动、ASU硬件加速调度及多层抽象API,支持手势识别、触控检测与接近唤醒等功能动态切换。结合电容式近场感应与嵌入

weixin_34620658的博客 550

k8s部署

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

2301_78529775的博客 414

DOTween回调函数的隐藏技巧:优化你的Unity动画流程

本文深入探讨了DOTween回调函数在Unity动画开发中的高级应用技巧,帮助开发者优化动画流程。通过分析回调机制、链式应用模式和大规模动画系统管理,提升性能与可维护性,特别适合需要高效处理复杂动画场景的Unity开发者。

weixin_27945229的博客 319

Sealos安装K8s集群

Sealos安装K8s集群环境

firstblh的博客 745

UMI——斯坦福刷盘机器人:通过手持夹爪革新数据收集方式,且使用视觉SLAM和Diffusion Policy预测动作

没想到今年年初的斯坦福mobilealoha的热度刚过,而到今年2月的下旬,斯坦福另一个团队又推出了UMI刷盘机器人,且这两个团队还互相认识、还在一块共同切磋(顺带小小感叹一下,斯坦福的氛围是真好而且真高产)斯坦福UMI刷盘机器人其与mobile aloha(以及AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild)最大的不同在于其收集数据处理的非真实的机器人,而是一个手持夹持器(从而大幅降低成本)

u013250861的博客 1357

手把手教你学Simulink--基于光伏(PV)系统的建模与仿真场景:-不同天气条件下光伏系统的输出性能分析

本文介绍了使用Simulink和Simscape Electrical工具箱进行光伏系统建模与仿真的完整流程。内容涵盖准备工作、模型构建、仿真分析三大步骤,重点演示了如何模拟不同天气条件(光照强度、温度变化)对光伏输出性能的影响。通过添加PVArray模块、配置参数、设置环境变化条件、连接测量仪器等操作,实现了光伏系统在动态天气条件下的输出特性分析。文章还提供了仿真参数设置建议和结果分析方法,帮助用户理解环境因素与光伏性能的关联性,为光伏系统设计和优化提供参考。

MHD0815的博客 189

使用sealos部署Kubernetes

使用seals部署Kubernetes

爱睡懒觉的熊博客 1437

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

使用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

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux系统部署k8s集群

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

LCY133的博客 793

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、付费专栏及课程。

余额充值