【Kubernetes知识点问答题】Kubernetes 部署

ops/2024/9/24 2:07:57/

目录

1.部署安装 K8s 为什么要关闭 swap 分区?

2.解释 br_netfilter。

3.解释 kubeadm, kubectl, kubelet。

4.详细说明 K8s 集群的创建过程。

5. Calico 网络插件在 K8s 集群的作用。

6. kube-apiserver, kube-controller-manager, kube-scheduler, etcd的作用。

7. kubelet, kube-proxy 作用。


1.部署安装 K8s 为什么要关闭 swap 分区?

在虚拟内存管理系统中,尽管 swap 可以在磁盘上增加系统的可用内存量,但在 磁盘虚拟页面和内存页面交换过程中会带来额外的磁盘 I/O 负载,加之容器运行环境自身对磁盘的吞吐量有很高的需求,因此,swap 分区的使用会在高负载情况下导致 K8s 系统的整体性能下降并有可能导致应用程序的崩溃。

2.解释 br_netfilter

br_netfilter 模块用于将桥接流量转发至 iptables ,如果没有加载 br_netfilter 模块,其并不会影响不同 node 上的 pod 之间的通信,但是会影响相同 node 内的 pod 之间通过 service 实现的通信。

3.解释 kubeadm, kubectl, kubelet

kubeadm 提供了构建集群的指令,kubeadm init 初始化集群,kubeadm join 扩充集群节点。

kubectl 是 K8s 集群的命令行工具,能够对集群本身进行管理,并进行容器化应用的安装和部署。

kubelet 在集群中每个节点上运行,负责与 AIP-server 进行通信,监控与维护 Pod 中容器的生
命周期,同时也负责 CSI(容器存储接口)和 CNI(容器网络接口)的管理。


4.详细说明 K8s 集群的创建过程。

① 第一步:
安装与配置服务器节点。
② 第二步:
在各节点上安装 docker-ce,docker-ce-cli,containerd.io,docker-compose-plugin;
部署 CRI-Docker。
③ 第三步:
在个节点 关闭 Swap 分区;
加载 br_netfilter 以允许 iptables 桥接流量;
安装 kubeadm,kubectl 和 kubelete 软件包;
集成 CRI-Docker。
④ 第四步:
在 master 节点上 部署集群(kubeadm.yaml),创建集群(kubeadm init),加入各节点(kubeadm join)。
⑤ 第五步:
部署 Calico 网络插件,检查验证集群状态。

5. Calico 网络插件在 K8s 集群的作用。

Calico 是一个开源网络和网络安全解决方案,适用于容器、虚拟机和基于本地主机的工作负载。
Calico 本身是一个三层的虚拟网络方案,它将每个节点都当作路由器( router ),将每个节点的容器都当作是“节点路由器”的一个终端并为其分配一个 IP 地址,各节点路由器通过 BGP Border Gateway Protocol)学习生成路由规则,从而将不同节点上的容器连接起来,从而为 K8s 集群提供了超快的性能和真正的云原生可扩展性,极大地扩展了网络规模和网络边界。

6. kube-apiserver, kube-controller-manager, kube-scheduler, etcd的作用。

kube-apiserver :是的 K8s 的核心控制层,可通过部署更多实例来横向扩展。它对外暴露了  K8s API,是整个集群管理的 API 接口,负责集群内部各个模块之间通信,负责集群安全控制。
kube-controller-manager :是处理集群中常规任务的后台线程,当集群资源组件发生各种故障导致系统状态发生变化时,它会通过 API Server 尝试将系统状态修复到“期望状态”。
kube-scheduler :用来监视新创建但尚未分配节点的 Pod 并选择一个节点供其运行。
 etcd :是一致性的 Key/Value 分布式存储,存储了 k8s 集群中所有的元数据,包括各种对象的状态和元信息配置、calico 等网络插件的配置信息。

7. kubelet, kube-proxy 作用。

kubelet :运行在每个 node 上,负责与 api-server 通信,并管理本节点的 Pod 及其中的容器
kube-proxy :运行在每个 node 上,负责监听 service endpoint 的变化情况,并通过 iptables 等来为服务配置负载均衡。

http://www.ppmy.cn/ops/105195.html

相关文章

RESTful基本要求

文章目录 RESTful -Representational State Transfer1 什么是RESTful2 RESTful的特征3 如何设计符合RESTful 特征的API RESTful -Representational State Transfer 1 什么是RESTful 资源 (Resources) 网络上的一个实体,或者说是网络上的一个…

Elasticsearch 介绍

1、课程介绍 1.1 ES 8.x 演化进程 版本号发布日期多少个次要版本迭代历时8.02022年2月11日?至今7.02019年4月11日17个次要版本34个月6.02017年11月15日8个次要版本17个月5.02016年10月27日6个次要版本13个月 2、Elasticsearch 是什么 2.1 概念 2.1.1 标准定义 …

【LLM模型微调】LLMs-微调经验-LLaMA微调指南v7.0

【导读】:本文是LLM模型微调第七篇,分享Meta于20240807的开源三篇文章:Methods for adapting large language models,To fine-tune or not to fine-tune,How to fine-tune: Focus on effective datasets。 【#】LLaMA…

Node.js中sqlite3的db.run、db.get和db.all方法深入解析

在Node.js中,sqlite3是一个广受欢迎的轻量级数据库库,它提供了一个简洁的API来与SQLite数据库进行交互。本文将深入解析sqlite3库中的db.run、db.get和db.all方法,包括它们的API原型定义和相应的代码示例。 一、sqlite3简介 sqlite3是一个为…

【Python基础】字典类型

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、Python 字典类型2.1 访问字典里的值2.2 修改字典2.3 删除字典元素2.4 字典键值的特性2.5 遍历字典…

docker部署project-exam-system

使⽤docker部署project-exam-system 1. 背景,在⼀台主机之内,实现容器的编排,发布考试系统 2. 环境准备 1. docker 1. vim /etc/docker/daemon.json 2. docker-compos 3. 普通的部署 1. 镜像 1. 前端:nginx latest服务 1. 拉取…

yolo8 目标检测、鉴黄

省流 看前必读 别浪费时间 :本文只是一个记录,防止自己下次被改需求时浪费时间,在这里就随意的写了一下文章记录整个步骤,但是文章想必肯定没有对应的教程讲的详细,该文章只适合想要快速按照步骤完成一个简单的 demo 的…

【wsl2】从C盘迁移到G盘

参考大神 C盘的ubuntu22.04 非常大,高达30g 迁移后就只有几百M了: 右键有一个move没有敢尝试 迁移过程 Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improveme…