k8s快速入门教程-----3 kubernetes架构

K8S:Rancher管理 Kubernetes 集群 本文对Rancher介绍:Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,确保集群的安全性,能够管理 k8s 集群。 对对Rancher安装以及配置、登录进入平台后如何操作进行介绍 阅读详情

上一篇: 2 深入理解Pod
kubernetes集群由master和worker节点组成,master节点和worker节点合成node节点。节点上运行若干的系统组件服务。
在这里插入图片描述

3.1 master节点

master是Kubernetes集群的大脑,运行着的daemon服务包含kube-apiserver,kube-scheduler,kube-controller-manager, etcd服务(大型生产环境一般单独部署)。

3.1.1 API Server(kube-apiserver)

Kubernetes API Server提供HTTP/HTTPS RESTful API ,集群的入口,各种客户端工具(CLI或第三方工具UI)以及其他组件可通过它管理集群的各种资源,所有对象资源的增删改查和监听操作都交给
APIServer处理后再提交给Etcd存储。kubeadm安装k8S,以容器化运行。

3.1.2 Scheduler Server(kube-scheduler)
根据调度算法为新创建的Pod选择一个Node节点,同一业务服务,可以部署在同一Node节点上,也可以部署在不同的Node节点上。

3.1.3 Controller Manager(kube-controller-manager)
Controller Manager 负责管理集群各种资源,保证资源处于预期的状态。Controller Manager由多种controller 组成,包括replication controller、 endpoints controller、namespace controller、serviceaccounts controller等。
不同的controller管理不同的资源。例如,replication controller 管理Deployment、StatefulSet、DaemonSet 的生命周期,namespace controller管理Namespace 资源。

3.1.4 etcd
分布式键值存储系统数据库,用于保存集群状态数据和配置信息,比如Pod、Service等对象信息。

3.2 worker节点

3.2.1 kubelet

Kubelet 就是负责所有运行在工作节点上内容的组件,它第一个任务就是在 API 服务器中创建 Node 资源来注册该节点。然后需要持续监控 API 服务器是否把该节点分配给 pod 然后启动 pod 容器,具体实现方式是告知配置好的容器引擎(docker、containerd)来从特定容器镜像运行容器。 kubelet 随后持续监控运行的容器,向 API 服务器报告它们的状态、事件和 资源消耗。kubelet 也是运行容器存活探针的组件,当探针报错时它会重启容器。最后一点,当pod从API 服务器删除肘, kubelet 终止容器,并通知服务器 pod 己经被终止了。

3.2.2 kube-proxy

service在逻辑上代表了后端的多个Pod,外界通过service 访问Pod。 service 接收到的请求是如何转发到Pod 的呢?这就是kube-proxy 要完成的工作。每个Node都会运行kube-proxy 服务,它负责将访问service 的TCP/UPD数据流转发到后端的容器。如果有多个副本,kube-proxy 会实现负载均衡。负载均衡通常实现由iptables或者ipvs实现,默认是iptables。

3.3 woker部署

了解集群的架构后,我们来部署一台worker节点加入到集群中。第一章一键部署的k8s节点,其实为master节点兼任worker节点,本次再部署一台worker节点,稍微修改原来的脚本后直接运行可以完成大部分的部署:

vi k8s-mini-install.sh
# 配置主机名
hostnamectl set-hostname k8s-worker01
echo "192.168.3.81 k8s-master" >> /etc/hosts
echo "192.168.3.84 k8s-worker01" >> /etc/hosts
# 下载docker yum源
yum install -y wget
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
#  增加kubernetes源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
# 关闭selinux
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
# 关闭firewalld
systemctl disable firewalld --now
# 关闭交换分区
swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 更新yum源
# 启用ipv4转发
cat > /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
EOF
sysctl --system
# 安装docker 
yum install docker-ce-19.03.* -y
systemctl enable docker --now
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://v16stybc.mirror.aliyuncs.com"],
  "exec-opts":["native.cgroupdriver=systemd"],
  "log-driver":"json-file",
  "log-opts": {
  "max-size": "100m"
  },
  "storage-driver":"overlay2",
  "storage-opts": [
  "overlay2.override_kernel_check=true"
  ]
}
EOF
systemctl restart docker
# 安装k8s
yum install -y kubelet-1.19.6 kubeadm-1.19.6 kubectl-1.19.6
systemctl enable kubelet --now

在原来的master节点执行,重新生成新的token

# kubeadm token create --print-join-command
W1111 17:50:25.985706  292853 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join 192.168.3.81:6443 --token sc2ty3.ej38ceisi5lmt9ad     --discovery-token-ca-cert-hash sha256:42bf6e526b795854b61b7c0ca875f9a8292b989d44f0f51a4d8dec450711b89e

回到worker01节点执行, 就可以完成worker01的安装

kubeadm join 192.168.3.81:6443 --token sc2ty3.ej38ceisi5lmt9ad --discovery-token-ca-cert-hash sha256:42bf6e526b795854b61b7c0ca875f9a8292b989d44f0f51a4d8dec450711b89e

安装其他worker节点也按照以上的步骤。
下一篇:4 工作负载控制器之deployment

Kubernetes入门指南:从零开始掌握容器编排(实战技巧大放送!) (敲黑板!)各位开发者朋友注意了!今天我们要聊的这个技术,可是改变了整个云计算格局的重量级选手——Kubernetes(简称k8s)。据CNCF 2023年度报告显示,全球已有超过70%的企业在生产环境使用k8s,这个数字还在持续增长中!你可能在想:“不就是个容器编排工具嘛?Docker不香吗?” 但我要告诉你的是(认真脸),k8s可不是简单的升级版Docker,它是构建现代云原生应用的基石!接下来我们就用最接地气的方式,手把手带你玩转这个"容器界的航空母舰"。看完这篇指南,是不是觉得k8s也没那么可怕。 阅读详情

相关推荐

K8s入门教程(一)

本教程提供了Kubernetes(K8s)的入门指南,涵盖了从基础概念到实战操作的全面内容。首先介绍了Kubernetes的定义和核心功能,如自动化部署、弹性伸缩、自我修复等。接着,详细讲解了如何在macOS上安装Minikube和kubectl工具,以及如何使用这些工具创建和管理Pod、Deployment和Service等核心资源。教程还包括了实战案例,如部署Nginx应用,并介绍了高级特性如滚动更新和自动伸缩。最后,提供了常见问题的解决方案,帮助用户快速上手和解决实际使用中的问题。

2401_82505179的博客 1690

k8s教程----零基础快速入门

K8S入门教学,帮助小白快速理解,应对面试

小青年的博客 7万+

零基础学kubernetes(k8s)必看教程,带你10分钟快速实战入门k8s

作为一个工作十余年,拥有比较丰富的计算机网络运维、主机运维、云计算平台运维、自动化运维开发经验的老鸟,我来说说我当初刚接触Kubernetes时的一些感受以及学习技巧。

Cloud_Native的博客 2万+

Kubernetes(k8s)基础入门

K8S是Kubernetes的全称,官方称其是across multiple hosts. It provides basic mechanisms for deployment, maintenance, and scaling of applications. 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。容器就是一个包,其中包含了应用及其所有依赖。容器中的应用与主机系统是隔离的,不关注环境。

沉浸式Study 1万+

[Kubernetes]1.Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群

Kubernetes(K8S)介绍,基于腾讯云的K8S环境搭建集群以及裸机搭建K8S集群

资深系统架构,深耕高并发研发与 AI 大模型工程化落地。技术栈以 Python (AI/NLP/RAG/Agent) 与 Golang (高并发架构) 为双核心,兼具 PHP 大型应用经验。专注算法落地、复杂系统设计及团队技术赋能 3221

离线安装4:kubernetes(k8s)离线安装_kubernetes 离线安装

firewall-cmd --zone=public --add-port=10257/tcp --permanent # kube-controller-manager 自身。firewall-cmd --zone=trusted --add-source=192.168.80.60 --permanent # 信任集群中各个节点的IP。firewall-cmd --zone=public --add-port=10259/tcp --permanent # kube-scheduler 自身。

2401_87034001的博客 2758

Kubernetes K8S 基于 Docker 安装部署

在 Docker 容器技术被炒得热火朝天之时,大家发现,如果想要将 Docker 应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对 Docker 及容器进行更高级更灵活的管理。就在这个时候,K8S 出现了。K8S,就是基于容器的集群管理平台,它的全称,是 Kubernetes。 本次主题将会为你分享: K8S 起源 K8S 集群 为什...

GitChat 1万+

Kubernetes K8S 基本概述、设计架构和设计理念

Kubernetes K8S 概述、特性与架构说明,以及核心技术概念和API对象详解

踏歌行的专栏 2314

Kubernetes(k8s) 架构原理一文详解

目录一、k8s 概述1.什么是k8s?2.特性3.主要功能三、集群架构与组件1.Master 组件(1)Kube-apiserver(2)Kube-controller-manager(3)Kube-scheduler2.配置存储中心3.Node 组件(1)Kubelet(2)Kube-Proxy(3)docker 或 rocket四、k8s的工作流程五、k8s的资源对象1.Pod2.Pod 控制器2.Label3.Label 选择器(Label selector)4.Service5.Ingress6.N

云计算运维工程师的成长之路 2万+

如何玩转 Kubernetes K8S

可以通过kubectl explain pod 查看pod yaml定义的顶级属性,然后通过类似 kubectl explain pod.{顶级属性}查看二级属性的细节定义。下面给出一个pod资源定义的样例,对pod的描述有一个初步了解。apiVersion: v1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本kind: Pod #该配置的类型,我们使用的是Pod。

m0_37843156的博客 1459

k8s入门教程详解(一)

文章目录Kubernetes 入门教程详解(一)一、 Kubernetes 概述1. K8S 发展历史由来2.K8S官网2.K8S 是什么3. K8s 优势及特点3.1 K8S优势3.2 K8S 特点4. K8s 集群架构与组件4.1 K8s 集群架构4.2 K8s 核心组件详细说明5. K8s 核心概念5.1 Master 集群控制节点5.2 Node 工作负载节点5.3 Pod kubernetes的最小控制单元5.4 Controller 控制器Pod5.4.1 复制控制器(Replication

心有鸿鹄天地,不敢妄坠人间 1万+

一、kubernetes k8s

k8s的全称:kubernetes k8sk8s的版本:1.301.20------------用的最多的版本,1.18-1.211.24------------>k8s的镜像不再使用docker,containerd。

2401_87896172的博客 3667

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 314

什么是Kubernetes(K8s)?

更新时间: 2024-02-02 16:41:38内容Kubernetes(通常简称为K8s)是一款用于自动部署、扩缩和管理容器化应用程序的开源容器编排平台。Kubernetes已发展为现代企业实现敏捷开发、快速迭代、资源优化及灵活扩展的关键技术组件之一。它拥有庞大的开源社区和丰富的生态系统。围绕Kubernetes已经形成了众多工具、插件和解决方案,其使企业能够实现更高的资源利用率、更优的业务连续性和稳定性、更快的创新速度。为什么需要。

weixin_46575696的博客 2421

生态学家都在用的MixSIAR:用R语言搞定稳定同位素混合模型(从数据整理到结果解读)

本文详细介绍了生态学家常用的MixSIAR工具,通过R语言实现稳定同位素混合模型分析,从数据整理到结果解读全流程。文章涵盖环境准备、模型构建、参数设置、运行诊断及可视化等关键步骤,帮助研究者科学分析河口鱼类食物来源,适用于生态学研究和湿地保护政策制定。

weixin_28683065的博客 439

⑨【从0制作自己的ros导航小车:上位机篇】04、使用gmapping建图

前面的文章已经能够实现在odom坐标系下显示小车模型和里程计数据了,本文加上激光slam必不可少的传感器雷达,先进行测试,然后直接开始建图!

海风的博客 2916

k8s kubernetes

(Container Runtime Interface): 容器运行时接口,用来运行容器,k8s通过这个接口去兼容不同的容器,目前主要的CRI有CRI-O和containered,dockershim在k8s的1.24版本后从kubelet中剥离出来,主要由docker维护(不是亲儿子k8s也不会管了):containerd由docker开发,是docker用来操作runc的handler,与docker平级,docker生成的images等资源与containerd生成的images等资源不共享。

六月长安的博客 2736

别再对着手册发愁了!手把手教你读懂MIPI-DSI初始化命令(以Rockchip平台为例)

本文深入解析MIPI-DSI初始化命令在Rockchip平台的应用,帮助嵌入式工程师快速掌握LCD屏幕调试技巧。从协议基础到实战指南,详细拆解命令格式、DCS与Generic命令的区别,并提供Rockchip平台的调试全流程与高级技巧,解决常见显示问题。

weixin_42519781的博客 264

【云原生】详解Kubernetes、详解k8s,什么是k8s,k8s有什么用;k8s集群是什么、有什么用?

Kubernetes 是Google开源的分布式容器管理平台,是为了更方便的在服务器中管理我们的容器化应用。Kubernetes 简称 K8S,为什么会有这个称号?因为K和S是 Kubernetes 首字母和尾字母,而K和S中间有八个字母,所以简称 K8S,加上 Kubernetes比较绕口,所以一般使用简称 K8S。Kubernetes 即是一款容器编排工具,也是一个全新的基于容器技术的分布式架构方案,在基于Docker的基础上,可以提供从 一系列服务,提高了容器集群管理的便捷性。大家可以先看一下,下面一

点赞的都能无bug通过! 3979

计算机网络Wireshark实验(西安交通大学)

实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU

沉鱼叶的博客 1817

[pytorch]FixMatch代码详解(超详细)

FixMatch代码详解-训练过程参数数据产生构建模型训练参数设置weight decay(权值衰减)学习率衰减(learning rate decay)指数移动平均(EMA)model训练过程运行结果 上一篇大概讲了数据加载的过程,这一篇更进一步,分析一下训练是怎样进行的 上一篇链接: [pytorch]FixMatch代码详解-数据加载 参数 所有的参数我都默认使用作者给出的例子: python train.py --dataset cifar10 --num-labeled 4000 --arch w

qq_38736504的博客 1万+

Kubernetes k8s理论篇

目录 一、k8s概述 1.1 什么是k8s? 1.1.1 作用 1.1.2 由来 1.1.3 含义 1.2 为什么需要K8S K8S的目标是让部署容器化应用简单高效。 1.3 k8s的特性 二、Kubernetes集群架构与组件 2.1Master组件 2.1.1Kube-apiserver 2.1.2 Kube-controller-manager 2.1.3 Kube-scheduler 2.1.4 配置存储中心 — etcd 2.2 Node组件 2.2.1 Kub..

weixin_48872590的博客 5万+

Vue2 - 详细实现解析Markdown内容生成侧边栏Toc目录索引,识别文章内容根据大标题/小标题自动生成多级文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,滑过锚点时高亮对应标题

vue2,nuxt2,Markdown,目录,文章目录锚点,滚动高亮导航文字,根据页面滚动高亮显示目录的侧边栏,自动提取标题生成右侧目录,vuemarkdown解析并生成目录,滚动页面的时候文章目录跟着选中效果,侧边栏滚动跟随页面,右边目录固定,左边内容可以滚动并且与左边目录联动,实现监听滚动,锚点定位,文章目录滚动跟随高亮,右边菜单点击目录滚动到对应标题,报错,渲染失败,文章内容,读取#标题符号,自动生成一个目录树,自动生成Toc目录,博客内容生成目录索引,资讯文章,生成锚点目录树TOC,详细示例代码教

🏆 前端领域优质创作者 3670

【K8s】—— Kubernetes架构

【秒懂·云原生】目前主要更新容器,一起学习一起进步。主要介绍【K8s】—— 安装和设置kubectlBorg是谷歌内部的大规模集群管理系统,负责对谷歌内部很多核心服务的调度和管理。Borg的目的是让用户能够不必操心资源管理的问题,让他们专注于自己的核心业务,并且做到跨多个数据中心的资源利用率最大化。Borg主要由BorgMaster、Borglet、borgcfg和Scheduler组成,如下图所示BorgMaster是整个集群的大脑,负责维护整个集群的状态,并将数据持久化到Paxos存储中;

4万+

利用ADS建立MIPI D-PHY链路仿真流程

由于MIPI D-PHY的速率并不算高,因此,PCB设计难度通常不大,主要做好差分线的等长、阻抗的连续性、端口处的阻抗优化以及控制好走线的长度,拿到满意的结果还是较为轻松的,最后,建立流程化的仿真工程文件,可以保存为模板,方便日后的设计复用,非常方便。

一只豌豆象的博客 3572

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Kubernetes(K8S)原理

本质上讲, k8s创建一个pod后,每个Pod中至少存在两个容器,一个是用户自定义的容器,另一个是k8s自动创建的名称为pause-amd64的容器(配置IP), 实际上Pod的IP是配置在pause容器上的。stateful的实现要依赖于存储volume,例如一个Pod挂载一个独立的存储,该Pod宕机后,自动创建一个新的Pod,新Pod一样会去挂载存储获取数据,这就相当于新Pod继承的原有Pod的所有数据及状态。用于让构建业务集群的多个Pod间通过名称通信,而不是借助IP,来保证服务的有状态性。

weixin_57466446的博客 1860

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

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

上一篇: k8s pod使用iscsi块存储
下一篇: k8s快速入门教程-----5 Service
cloud_engineer
博客等级 码龄5年 9390粉丝 65原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值