NR HARQ(三) semi-static HARQ-ACK codebook

简介: UE在一个PUCCH(或PUSCH)上发送HARQ-ACK信息时,信息bit很可能是多个bits位数,这个多bits位数的HARQ-ACK信息,也称为HARQ-ACK codebook码本UE物理层在以下几种情况下,需要产生对应的HARQ-ACK 信息bit:UE收到PDCCH调度的PDSCH,动态调度;UE接收的PDSCH没有对应的PDCCH,即DL SPS PDSCH调度; UE接收到PDCCH指示的SPS release,并没有PDSCH。

UE在一个PUCCH(或PUSCH)上发送HARQ-ACK信息时,信息bit很可能是多个bits位数,这个多bits位数的HARQ-ACK信息,也称为HARQ-ACK codebook码本

UE物理层在以下几种情况下,需要产生对应的HARQ-ACK 信息bit:UE收到PDCCH调度的PDSCH,动态调度;UE接收的PDSCH没有对应的PDCCH,即DL SPS PDSCH调度; UE接收到PDCCH指示的SPS release,并没有PDSCH。

影响HARQ-ACK 码本长度的因素包括:接收到的PDSCH的个数,在一个PUCCH/PUSCH上反馈;下行是否空分复用,即下行传输是1个或2个TB;PDSCH 是否进行CBG码块组传输;载波聚合CA时,服务小区(即下行载波)的个数;其他参数和开关,例如 harq-ACK-SpatialBundlingPUCCH/PUSCH;因为在生成码本时都会考虑到上述参数。

091a72de67944b50a8397e00c8034c88.png

UE成功检测到SPS PDSCH release或相关的TB ,要生成ACK,对应HARQ-ACK bit  =1;UE没有正确接收TB时,要生成NACK,对应HARQ-ACK bit  =0。有关SPS PDSCH介绍详见 NR PDSCH (七)DL SPS。


在R16版本中NR中支持3种HARQ-ACK 码本类型,基站根据UE的能力,通过高层RRC信令配置

 1 semi-Static:半静态码本,Type-1 HARQ-ACK codebook(pdsch-HARQ-ACK-Codebook = semi-static)。即UE根据RRC层PDSCH 相关半静态配置,生成需要发送的HARQ-ACK 码本。

2  dynamic:动态码本,Type-2 HARQ-ACK codebook(pdsch-HARQ-ACK-Codebook = dynamic), 即UE根据DCI下行动态调度的情况,生成需要发送的动态HARQ-ACK码本。

3 针对NR-U场景新增的type-3 HARQ-ACK codebook,根据RRC层有配置pdsch-HARQ-ACK-OneShotFeedback且UE检测到DCI 1_1 带有One-shotHARQ-ACK request field=1,才会用type-3 HARQ-ACK codebook。本篇主要看下semi-static 码本即Type-1 HARQ-ACK codebook的内容。


Type-1 HARQ-ACK codebook determination

12eba13d6bcd468dbef71cb813ac85c4.png

所谓Type-1 HARQ-ACK codebook 就是指pdsch-HARQ-ACK-Codebook=semi-static的情况,配置结构如上,一般在RRC setup或RRC Reconfiguration中配置。收到PDSCH data或SPS PDSCH release后UE要根据DCI 中的PDSCH-to-HARQ_feedback timing indicator 确定的位置report相应的HARQ-ACK info;其他DCI format并未用的到的PDSCH-to-HARQ_feedback timing indicator的位置,UE要报HARQ-ACK NACK,这句话与semi-static码本的生成相关,可以先行忽略,后面会提及什么情况下要报NACK。


semi-static码本的生成概括的说,当UE被配置为semi-static HARQ-ACK codebook时,UE要根据HARQ-ACK反馈时序(K1)、时隙结构和PDSCH候选时域资源分配信息确定每个载波c上对应在同一时隙n中进行HARQ-ACK反馈的PDSCH时域位置集合M_A,c 。

然后根据M_A,c,将在PDSCH候选位置集合中接收到的PDSCH和SPS PDSCH释放的HARQ-ACK映射到HARQ-ACK反馈序列中的对应位置,从而得到时隙n中传输的HARQ-ACK码本。

具体来说,首先,UE基于RRC层信令配置的HARQ反馈时序(dl-DataToUL-ACK),确定该载波上在同一个时隙中需要进行HARQ-ACK反馈的时隙个数,其次,确定每个需要进行HARQ-ACK反馈的时隙中可以传输的最大PDSCH个数。

如果UE能够在同一个载波的同一个时隙中接收大于一个unicast PDSCH传输,则基于RRC层信令配置的PDSCH时域资源分配表格中的候选时域资源分配信息,确定每个时隙中可以传输的最大PDSCH个数。还要根据配置的时隙结构,将不满足PDSCH传输条件的候选PDSCH去掉。

特别地,如果PDSCH和PUCCH的SCS配置不同,当PDSCH的SCS大于或者等于PUCCH的SCS时,每一个K1值都对应X个下行传输时隙;当PDSCH的SCS小于PUCCH的SCS时,连续的1/X个K1值只有一个对应的下行传输时隙,其中X为PDSCH SCS相对于PUCCH SCS的倍数。

当存在CA时,每个载波上的HARQ-ACK码本需要分别按照上述过程进行确定,最后将不同载波的HARQ-ACK码本按照载波顺序进行级联得到最终的HARQ-ACK码本。


下面根据上面的内容具体来看下每一步的处理方式。

20305b3c4d7b4cc699e469b9d74d3cfe.png

对于服务小区C,一个激活的DL BWP和UL BWP中,UE要确定接收PDSCH的候选位置集合,候选PDSCH位置对应的HARQ-ACK信息要在之后PUCCH时隙n_v发送;

UE根据PUCCH slot n_v的位置,要确定一个PDSCH候选位置集合,集合中对应M_A,c 个pdsch候选位置,如下图,PDSCH 候选位置有3个,UE要根据这3个候选位置生成对应的semi-static harq-ack codebook。

0045f2d47b8c4ea5817541251ef8486c.png

如果服务小区c 被deactive,那UE将 firstActiveDownlinkBWP-Id 提供的 DL BWP 用作acitve 的DL BWP,以确定用于候选 PDSCH 接收的 M_(A,c) 时机集合。


PDSCH reception candidated occasion的确定

cd60ef2c37ed4c6ca4aae5b6a83bdc4f.png

对于PUCCH 时隙n_v,确定PDSCH接收位置候选集的因素包括:

1 PDSCH 到HARQ-ACK时隙的K1配置集合:

UE只收到监听DCI 1_0 PDCCH配置(没有配置DCI1_1/1_2),K1对应的slot偏移值为1~8;

UE只收到监听DCI 1_1 PDCCH配置(没有配置DCI1_2),K1对应的slot偏移值由RRC层的参数dl-DataToUL-ACK 提供;

UE只收到监听DCI 1_2 PDCCH配置(没有配置DCI1_1),K1对应的slot偏移值由RRC层的参数dl-DataToUL-ACK-ForDCIFormat1_2提供;

UE收到监听DCI 1_1/1_2 PDCCH配置,K1对应的slot偏移值分别由RRC层的参数dl-DataToUL-ACK和dl-DataToUL-ACK-ForDCIFormat1_2提供;

266afe6c61d0484face5e10358856a5d.png


2 PDSCH 时域资源分配表,pdsch-TimeDomainAllocationList,包括pdsch-ConfigCommon和pdsch-Config中配置的两个表,或两个表的并集。在UE获取时域资源分配表之前,要按照spec定义的PDSCH 默认时域资源分配表A,这个内容在 NR PDSCH (一)时域资源中有具体描述。

186eb070dcfc4ca09ed7cfedda43886c.png


对于DCI 1_2 如果有配置referenceOfSLIVDCI-1-2时,如果确定完K0=0(同时隙调度)且是PDSCH mapping Type B的情况,例如上图SLIV=54的情况,对应S=1,,L=12,S0是检测到DCI format 1_2的PDCCH监听时机的起始符号,此时配置时要满足S0+1+12<=14(normal cyclic prefix) 或S0+1+12<=12(extended cycloc prefix)的关系,其他情况不考虑S0。

f8a91e724c364540b209ede9a0146023.png

 3 上下行BWP有可能是不同的SCS子载波间隔(u_UL由激活的上行BWP获得,u_DL由激活的下行BWP获得),也要考虑到不同子载波间隔时隙换算关系。

  4 还要考虑高层配置的上下行时隙结构tdd-UL-DL-ConfigurationCommon and tdd-UL-DL-ConfigurationDedecated.

  5 配置ca-SlotOffset 的情况

主要根据以上1~5的配置参数,确定PDSCH接收位置候选集。


UE要在时隙n_u通过PUCCH发送HARQ-ACK info,那就要根据dl-DataToUL-ACK提供的K1集合,结合pdsch-TimeDomainAllocationList K0和时隙配置,确定M_A,c ;如果UE支持一个时隙内多次PDSCH调度,还要再根据SLIV 进一步确定和n_u相关的PDSCH候选集,38.213 中用一大段伪代码表示M_A,c的具体确定方式,这里简单看下。

a704e09db0bd41e38e1e4ed332ccb634.png

对应于单个SPS PDSCH release的HARQ-ACK info 在Type-1 HARQ-ACK码本中的位置与对应的SPS PDSCH reception相同;single DCI format 调度的多个SPS PDSCH release的HARQ-ACK信息在Type-1 HARQ-ACK码本中的位置与多个SPS PDSCH release中具有最小SPS configuration index的SPS PDSCH reception相同(这段话好像很绕,但是好像又能理解...)

e9e38decd8c04608aa9b4fac25e71d17.png


M_A,c 代表PDSCH 候选集(PDSCH receptions or SPS PDSCH releases),初始为空集;j代表PDSCH候选集的index,初始为0;B 代表UE支持一个时隙内调度多个PDSCH接收时使用的集合,初始为空集 ;C(k1)代表k1集合的基数;k代表k1集合中的index,初始为0,k1集合中按照slot timing value 降序排列,例如C(k1) 有3个值,k1,0   k1,1  k1,2 在集合内降序排列{5,3,1}。

先看不配置ca-SlotOffset的情况,即R15 版本中的情况。

f9ed5b0620d348b0a8753fe4497aa6c4.png

橙色while k<C(K1)代表对k1集合进行遍历,C(k1)是按照降序排列,第一个元素k1,0是数字最大的,即代表的是与PUCCH HARQ-ACK时隙n_u间隔最大那个PDCCH候选 时隙n_D。黄色框中的内容代表开始对C(k1)遍历后,首先考虑上下行SCS 是否一样。先看下mod(n_u-K1,k+1,max(2^(u_dl-u_ul),1))=0 成立的场景,即u_dl<=u_ul时,上述求模运算才成立,为简化伪代码过程,直接考虑上下行SCS相同的情况即u_dl=u_ul,目前实网环境下也都是这种情况,这时候下面绿色while n_D<max(2^(u_dl-u_ul),1) ->while n_D<1,即后面部分只考虑n_D=0的情况即可

ba2ebf52ec164a4a98ca6611e0b0f297.png

红色if 部分,毫无疑问slot n_u是在n_D之后的时隙,如果在n_u和n_D之间有发生DL/UL BWP 变化(假如说在slot n_c),此时n_u>=n_c,n_u-K1,k+n_D<n_c的话,n_D++,上下行SCS相同,n_D++后,直接跳出while 循环,k++,进行C(k1)中下一个k的判断。

没有发生BWP切换时,跳入蓝色if else的判断,这里会对PDSCH时域资源分配表中的每一行元素(K0,SLIV)进行遍历,k0是DCI至PDSCH data间的时隙偏移,毫无疑问,n_u-K1,k+n_D+k0 对应的时隙应该是DL ,如果判断完是UL slot,则要从时域资源分配表中剔除这样的组合,针对这步看个例子。

78fdbefd9dcd40c99a7e567f380f30e1.png

pdsch-TimeDomainAllocationList

{k0=2.....

k0=5....

k0=3....

k0=4...}

假设有4行,从k1=7开始遍历pdsch-TimeDomainAllocationList,k0=2时对应的slot为UL 不符号要求删除k0=2

针对K1=5遍历pdsch-TimeDomainAllocationList,此时k1对应的符号就是UL,在遍历时所有的row都不会保留。

b875cb618b4949d3ac0904e23f5b5e62.png

对PDSCH时域资源分配表遍历完成后,下一步根据UE是否支持一个时隙内多次PDSCH调度,进行不同的操作;如果UE仅支持一个时隙内进行一次PDSCH 调度且PDSCH时域资源分配表不为空集(即有对应的k0  SLIV组合),M_A,c (PDSCH 候选集)就多一个j,这个j 与C(K1,k)中的k1有对应关系。

如果UE支持一个时隙内多次PDSCH调度时,根据PDSCH时域资源分配表中的SLIV,找到最小的"last OFDM symbol index",作为m, 根据m继续确定PDSCH候选位置;再次从第一行开始,如果S<=m,剔除对应的行,B 集合中多一个PDSCH候选 index j,直到R成为空集,针对这步看个例子。

59514e19c52d4a1589e52845902d18ce.png

例如 上面的SLIV分配情况

r=0  SLIV =S+L=2+4

r=1  SLIV=S+L=4+3

r=2 SLIV=S+L=8+2

r=3 SLIV=S+L=3+2

r=4 SLIV=S+L=5+3

r=5 SLIV=S+L=11+2

假设j=0,第一步m=5,从r=0开始遍历,r=0/1/3/4 的S<=5,删除r=0/1/3/4,将j=0并入m_A,c;j++,R不是空集,此时m=9,r=2 的S<=m,删除r=2,将j=1并入m_A,c; j++,R不是空集,m=12,r=5的S<=m,删除r=5,将j=2并入m_A,c,R为空集,结束,此时得到M_A,c={0,1,2}。


M_A,c的确定过程大概就是上面的内容,R16中还针对配置ca-SlotOffset的情况,列了一段伪代码,但其实也是类似的判断逻辑,不再多说。


semi-static codebook的生成

PDSCH reception位置候选集和M_A,c确定后,UE就要生成对应的semi-static HARQ-ACK codebook,再看下生成codebook的相关规定。

f9114893c523415fb9e6b3326e6a9623.png

UE如果由于没有收到DCI 导致没有收到调度的TB或CBG,那UE要对TB或CBG生成NACK,这个考虑的是DCI漏检情况,即网络侧调度了DCI,但是UE没有检测到对应的DCI,反馈NACK后,网络侧会再次重传,防止漏检。

7b933481825945edb29afd1395d7673b.png

semi-static的码本生成同样对应一段伪代码,其中UE由M_A,c得到服务小区包含的候选PDSCH 的数量,即下面的Mc,。

b1ca4c7dc4f14dba8ceb754ccf62ff9d.pngset c 代表服务小区的index,set j代表HARQ-ACKinfo 的bit index;set N_DL_cells 代表RRC成配置的服务小区个数(CA场景)。

对PDSCH reception候选位置进行遍历

429ab55969ca42768f21c0c964f6754f.png

m代表候选PDSCH 的index,对候选PDSCH进行遍历,不配置  harq-ACK-SpatialBundlingPUCCH 和CBG传输,但是进行2TB传输时, 针对每个TB生成一个HARQ-ACK bit。


03ecab898133447782a1b59ea7c8f881.png

有配置harq-ACK-SpatialBundlingPUCCH且进行2TB传输时,将2个TB的HARQ-ACK进行位与 AND操作,最后对应1bit;如果只收到1个TB,另一个TB的HARQ-ACK 认为是ACK。harq-ACK-SpatialBundlingPUCCH只有在传输layer 大于4 时才可能配置,大概意思是把两个TB的HARQ-ACK info 进了绑定传输。

05368c4f971a4b52813153e03cf39cf2.png


CBG这部分在上一篇 NR HARQ (二) CBG部分中有提及,这里就不在多说,但是要注意最后j=j+N_DL_TB,c *N_CBG/TB,max_HARQ-ACK,后面再说。


912c3e9030814430ac32273fb624ce65.png

其他情况 1个候选PDSCH生成1 bit HARQ-ACK即可;c++代表CA场景时,对其他服务小区的候选PDSCH 也要进行候选PDSCH的遍历。


由上述伪代码可见,semi-static codebook 在CA场景下,PDSCH reception 候选位置多以及CBG 传输场景,会有很大的开销;即使网络侧的PDSCH 调度并不多的情况下,也需要整个走一边流程,网络侧即使没有调度,也会带有很多NACK位,处理流程复杂。


有时候UE RRC配置的CBG传输,但是实际的DCI format却没有进行用CBG进行调度(仅DCI0_1和DCI 1_1支持CBG传输,在配置CBG时,对于其他DCI,只能进行基于TB 的传输);这时候semi-static码本的生成有相应的规定,如下。

21cbb7974d954a808643a6e40d39cd8f.png

如果UE收到SPS PDSCH/SPS PDSCH release/PDSCH,此时只有一个服务小区,且C(M_A,c)=1,即只有一个PDSCH候选位置,配置了CBG,实际DCI调度时没有进行CBG传输,这时候UE根据收到的TB 生成1 bit HARQ-ACK 即可。

7cb8c675dcfc41a4b91d96f024ce5ecc.png

如果UE收到SPS PDSCH/SPS PDSCH release/PDSCH,此时有多个服务小区,且C(M_A,c)>1,配置了CBG,实际DCI调度时没有进行CBG传输,这时候UE对应收到的TB 生成HARQ-ACK 时,要重复N_CBG/TB,max_HARQ-ACK 次,N_CBG/TB,max_HARQ-ACK由RRC层参数maxCodeBlockGroupsPerTransportBlock确定。


就如上面生成CBG HARQ-ACK伪代码的最后一句j=j+N_DL_TB,c *N_CBG/TB,max_HARQ-ACK,就是说对于配置CBG传输的服务小区的PDSCH 候选位置,无论DCI是否有使用CBG传输,UE都要生成N_DL_TB,c *N_CBG/TB,max_HARQ-ACK bit HARQ-ACK反馈,这里也进一步说明了semi-static 的开销大的问题,如下图的例子。

90dea00b1d6d49fe97640735de0392d0.png

例如上图中的serving cell 1中的绿色和seving cell 2的黄色部分,虽然没有收到任何data,但是在生成codebook时,同样要根据设定生成对应bits的码本,进一步的如果每个serving cell 都只一个位置收到data,例如serving cell 0只收到第一个TB1/TB2, serving cell 1和2只收到一个PDSCH CBG传输,正常只要生成10bits 码本,但是按照semi-static 码本的设计,总共要反馈30bits的信息,开销确实很大。

245976bfb0de4df1a0e90928da0b3fde.png

因而某些场景网络侧不希望UE反馈完整的semi-static码本,只想收到1个简单的HARQ-ACK应答,例如DCI 1_0 counter DAI=1时的SPS PDSCH release;Pcell 收到DCI 1_0 counter DAI =1 的PDSCH reception或者SPS PDSCH reception,这三种场景,UE只要针对其产生应答即可,不用生成完整的semi-static码本。

015de6bc9d7f4b66ab8c49f7469260dd.png

在配置了pdsch-AggregationFactor时,PDSCH 发送时隙n_D-N_repeat_PDSCH+1 到时隙n_D,或时隙n_D-repetitionNumber+1 到时隙n_D 或n_D,其HARQ-ACK 要在slot n+k反馈;如果其他semi-statci码本中也包含上述PDSCH 接收情况,要将其相关的HARQ-ACK 置为NACK,即在n+k slot正常上报PDSCH reception 的HARQ-ACK info,其他时隙的码本与n+k 时隙的码本重合时,要将其他时隙码本中PDSCH接收相关的HARQ-ACK 置为NACK。

6c6e4cc8a25b4d72a5406e5aadc34d2e.png


例如上图,根据算法生成HARQ-ACK codebook显示,紫色DL 中的PDSCH 要在绿色的UL slot 上报HARQ-ACK;但是红色的UL slot 的HARQ-ACK codebook 也包含紫色DL 中的PDSCH且根据要求UE要在红色UL slot 上报 紫色DL PDSCH 的HARQ-ACK,那绿色UL HARQ-ACK codebook中的相应bit 要置为NACK,红色UL HARQ-ACK codebook根据实际情况上报NACK/ACK。


PUSCH

a46413bd7de742429d2d09466c5a4fe6.png

PUSCH也可能用于HARQ-ACK,首先看V_UL_T-DAI 的确定,当UL DCI format 带有DAI field 且DAI=0时,V_UL_T-DAI=0,否则V_UL_T-DAI=1。

具体的当 UL DCI 包含DAI field 且V_UL_T-DAI=1时,UE要按照上面的方式生成semi-static 码本,在生成码本时要用harq-ACK-SpatialBundlingPUSCH替换harq-ACK-SpatialBundlingPUCCH;  当UL_T-DAI=0时就不用生成码本,除非UE 只收到由DCI 1_0 调度的SPS PDSCH release/SPS PDSCH/PDSCH,且DCI 1_0 DAI=1,这时候UE也要生成对应的码本。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
缓存 调度
NR HARQ(二) CBG HARQ-ACK codebook
这篇开始看下HARQ-ACK codebook的相关内容,先看CBG-based HARQ-ACK codebook。那第一个关注点就是CBG 的划分规则,这部分内容主要在38.213 9.1.1章节中,PDSCH和PUSCH 的CBG 划分规则基本是一样的,这里以PDSCH为例介绍。
|
2天前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
4天前
|
Kubernetes 网络协议 应用服务中间件
Kubernetes Ingress:灵活的集群外部网络访问的利器
《Kubernetes Ingress:集群外部访问的利器-打造灵活的集群网络》介绍了如何通过Ingress实现Kubernetes集群的外部访问。前提条件是已拥有Kubernetes集群并安装了kubectl工具。文章详细讲解了Ingress的基本组成(Ingress Controller和资源对象),选择合适的版本,以及具体的安装步骤,如下载配置文件、部署Nginx Ingress Controller等。此外,还提供了常见问题的解决方案,例如镜像下载失败的应对措施。最后,通过部署示例应用展示了Ingress的实际使用方法。
21 2
|
16天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
1月前
|
Kubernetes 监控 Cloud Native
Kubernetes集群的高可用性与伸缩性实践
Kubernetes集群的高可用性与伸缩性实践
74 1
|
2月前
|
JSON Kubernetes 容灾
ACK One应用分发上线:高效管理多集群应用
ACK One应用分发上线,主要介绍了新能力的使用场景
|
2月前
|
Kubernetes 持续交付 开发工具
ACK One GitOps:ApplicationSet UI简化多集群GitOps应用管理
ACK One GitOps新发布了多集群应用控制台,支持管理Argo CD ApplicationSet,提升大规模应用和集群的多集群GitOps应用分发管理体验。
|
2月前
|
Kubernetes Cloud Native 云计算
云原生之旅:Kubernetes 集群的搭建与实践
【8月更文挑战第67天】在云原生技术日益成为IT行业焦点的今天,掌握Kubernetes已成为每个软件工程师必备的技能。本文将通过浅显易懂的语言和实际代码示例,引导你从零开始搭建一个Kubernetes集群,并探索其核心概念。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你打开一扇通往云原生世界的大门。
147 17
|
2月前
|
Kubernetes Ubuntu Linux
Centos7 搭建 kubernetes集群
本文介绍了如何搭建一个三节点的Kubernetes集群,包括一个主节点和两个工作节点。各节点运行CentOS 7系统,最低配置为2核CPU、2GB内存和15GB硬盘。详细步骤包括环境配置、安装Docker、关闭防火墙和SELinux、禁用交换分区、安装kubeadm、kubelet、kubectl,以及初始化Kubernetes集群和安装网络插件Calico或Flannel。
208 4
|
2月前
|
Kubernetes 应用服务中间件 nginx
搭建Kubernetes v1.31.1服务器集群,采用Calico网络技术
在阿里云服务器上部署k8s集群,一、3台k8s服务器,1个Master节点,2个工作节点,采用Calico网络技术。二、部署nginx服务到k8s集群,并验证nginx服务运行状态。
988 1

热门文章

最新文章

推荐镜像

更多