【K8S系列】深入解析k8s网络之—网络故障

news2024/11/25 1:02:52

序言

你只管努力,其他交给时间,时间会证明一切。

文章标记颜色说明:

  • 黄色:重要标题
  • 红色:用来标记结论
  • 绿色:用来标记一级论点
  • 蓝色:用来标记二级论点

Kubernetes (k8s) 是一个容器编排平台,允许在容器中运行应用程序和服务。今天学习一下k8s网络故障相关的的内容

希望这篇文章能让你不仅有一定的收获,而且可以愉快的学习,如果有什么建议,都可以留言和我交流

 专栏介绍

这是这篇文章所在的专栏,欢迎订阅:【深入解析k8s】专栏

简单介绍一下这个专栏要做的事:

主要是深入解析每个知识点,帮助大家完全掌握k8s,以下是已更新的章节

这是专栏介绍文章地址:【深入解析K8S专栏介绍】

今天我们来看一下K8s网络问题解决方案

  • 网络故障介绍
  • 故障解决方案

1 网络故障类型介绍

 在 Kubernetes 中,网络故障的类型软件层面可以分为以下几种:

  1. 容器网络故障

  2. 网络插件故障

  3. 网络策略故障

  4. DNS 故障

2 解决方案

1.1 容器网络故障

在 Kubernetes 中,容器网络故障可能会导致应用程序无法正常工作或通信。容器网络故障可以是由各种原因引起的,例如网络配置错误、网络拓扑不正确、网络插件故障、网络设备故障等。

常见原因

以下是一些可能导致容器网络故障的常见原因:

  1. Pod IP 地址冲突:如果两个 Pod 具有相同的 IP 地址,则将发生 IP 地址冲突,这可能导致容器网络故障。

  2. 网络插件故障:Kubernetes 使用不同的网络插件来实现容器网络,例如 Flannel、Calico 等。如果网络插件出现故障,可能会导致容器网络故障。

  3. 网络设备故障:如果网络设备出现故障,例如交换机、路由器、防火墙等,可能会导致容器网络故障。

  4. 网络配置错误:如果网络配置不正确,例如子网掩码、网关、DNS 等配置错误,可能会导致容器网络故障。

  5. 网络拓扑不正确:如果网络拓扑不正确,例如存在网络分区或防火墙规则阻止了容器之间的通信,可能会导致容器网络故障。

解决方案

针对容器网络故障,可以采取以下步骤来解决问题:

1. 确认容器是否已正确启动并运行,并且是否已被正确配置为使用正确的网络。

  • 执行命令,确认 Pod 是否已正确启动并运行。 
    kubectl get pods
  • 执行命令,确认容器的网络配置是否正确。 
    kubectl describe pod <pod-name>

2. 检查 Pod 和容器的网络配置,例如 IP 地址、子网掩码、网关、DNS 等是否正确配置。

  • 执行命令查看容器的网络配置信息。
     kubectl describe pod <pod-name>
  • 执行命令 ,查看容器的网络接口信息。
    kubectl exec <pod-name> -- ifconfig

3. 检查网络插件是否正常工作,并尝试重启网络插件。

  • 如果使用 Flannel 网络插件,执行命令 查看 Flannel 的日志信息。
    kubectl logs -n kube-system -l k8s-app=flannel,
  • 如果使用 Calico 网络插件,执行命令,查看 Calico 的日志信息。
     kubectl logs -n kube-system -l k8s-app=calico-node
  • 重启网络插件:如果使用 Flannel 网络插件,执行命令 
    kubectl delete pod -n kube-system -l k8s-app=flannel
  • 如果使用 Calico 网络插件,执行命令。
     kubectl delete pod -n kube-system -l k8s-app=calico-node

4 检查网络设备是否正常工作,例如交换机、路由器、防火墙等是否出现故障。

  • 检查网络设备的日志或配置信息,确认网络设备是否正常工作。

5. 尝试使用 Kubernetes 工具进行诊断,例如 kubectl,以查看 Pod 和容器的状态和日志。

  • 执行命令,查看容器的日志信息。
     kubectl logs <pod-name>
  • 执行命令 ,查看容器的状态信息。
    kubectl describe pod <pod-name>

6. 如果以上方法无法解决问题,可以考虑重新部署容器网络或更换网络插件。

  • 如果使用 Flannel 网络插件,执行命令 重新部署 Flannel 网络插件。
    kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml && kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml,
  • 如果使用 Calico 网络插件,执行命令重新部署 Calico 网络插件。
     kubectl delete -f https://docs.projectcalico.org/manifests/calico.yaml && kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

1.2 网络插件故障

Kubernetes中的网络插件是负责容器网络连接与管理的重要组件之一。网络插件的故障可能会导致容器之间无法通信、网络延迟等问题。

常见原因 

下面是几种可能导致网络插件故障的情况:

  1. 网络插件配置错误:网络插件的配置文件可能存在错误,例如配置了错误的IP地址、子网掩码、网关、DNS等信息,这可能导致容器无法正确连接到网络。

  2. 网络插件版本不兼容:Kubernetes的版本更新可能会导致网络插件版本不兼容,从而导致网络插件故障。

  3. 网络插件容器故障:网络插件通常运行在Kubernetes集群中的容器中,如果容器出现故障,可能会导致网络插件无法正常工作。

  4. 网络设备故障:网络插件需要依赖底层的网络设备,例如交换机、路由器、防火墙等,如果这些网络设备出现故障,可能会导致网络插件无法正常工作。

当网络插件故障时,可能会出现以下一些常见问题:

  1. 容器之间无法通信:当网络插件故障时,可能导致容器之间无法互相通信,这可能会影响应用程序的正常运行。

  2. 网络延迟增加:当网络插件故障时,容器之间的网络延迟可能会增加,这可能会影响应用程序的性能。

  3. 网络连接不稳定:当网络插件故障时,网络连接可能会不稳定,这可能会导致容器之间的连接断开或丢失数据包。

解决方案

解决网络插件故障的方法取决于具体的故障原因,以下是一些常见的解决方法:

  1. 检查网络插件的配置文件:如果网络插件的配置文件存在错误,可以通过检查和修改配置文件来解决问题。例如,可以检查IP地址、子网掩码、网关、DNS等信息是否正确配置。

  2. 升级或降级网络插件版本:如果网络插件版本不兼容,可以尝试升级或降级网络插件版本来解决问题。建议在升级或降级前备份网络插件的配置文件,以避免数据丢失。

  3. 重启网络插件容器:如果网络插件容器出现故障,可以尝试重启容器来解决问题。例如,可以使用kubectl命令重启网络插件的Pod。

  4. 检查网络设备是否正常工作:如果网络插件依赖的底层网络设备出现故障,可以通过检查网络设备的日志或配置信息来解决问题。例如,可以检查交换机、路由器、防火墙等网络设备的日志或配置信息,确认网络设备是否正常工作。

  5. 重新部署网络插件:如果以上方法无法解决问题,可以考虑重新部署网络插件。例如,可以使用kubectl命令删除网络插件的Pod和Service,然后重新部署网络插件。在重新部署前建议备份网络插件的配置文件,以避免数据丢失。

需要注意的是,在解决网络插件故障时,需要谨慎操作,避免数据丢失或其他不良后果。

建议在解决问题前备份所有关键数据,并根据实际情况选择合适的解决方法。

如果遇到无法解决的问题,可以向Kubernetes社区或网络设备供应商寻求帮助。

 解决网络插件故障常用命令

以下是一些常用的Kubernetes命令,用于检查和解决网络插件故障:

检查网络插件的Pod是否正常运行:

kubectl get pods -n <namespace>

查看网络插件的Pod的详细信息:

kubectl describe pod <pod-name> -n <namespace>

查看网络插件的日志信息:

kubectl logs <pod-name> -n <namespace>

重启网络插件的Pod:

kubectl delete pod <pod-name> -n <namespace>

检查集群的网络配置:

kubectl cluster-info dump

检查节点的网络配置:

kubectl describe node <node-name>

如果你的Kubernetes集群使用的是Flannel网络插件,可以使用以下命令:

检查Flannel的日志信息:

kubectl logs -n kube-system -l k8s-app=flannel

重启Flannel的Pod:

kubectl delete pod -n kube-system -l k8s-app=flannel

如果你的Kubernetes集群使用的是Calico网络插件,你可以使用以下命令:

检查Calico的日志信息:

kubectl logs -n kube-system -l k8s-app=calico-node

重启Calico的Pod:

kubectl delete pod -n kube-system -l k8s-app=calico-node

以上是一些常用的Kubernetes命令,用于检查和解决网络插件故障。如果遇到无法解决的问题,建议查阅相关的Kubernetes文档或向社区寻求帮助。

1.3 网络策略故障

Kubernetes中的网络策略(Network Policy)是用于控制容器间网络流量的重要组件之一。

网络策略可以定义允许或禁止容器间的网络连接,从而增强了容器间网络的安全性。

如果网络策略出现故障,可能会导致容器无法正常通信,网络安全性受到威胁等问题。

故障原因

以下是几种可能导致网络策略故障的情况:

  1. 网络策略配置错误:网络策略的配置文件可能存在错误,例如规则定义不正确、命名空间配置错误等,这可能导致容器无法正确连接到网络。

  2. 网络策略版本不兼容:Kubernetes的版本更新可能会导致网络策略版本不兼容,从而导致网络策略故障。

  3. 容器标签或端口配置错误:网络策略通常依赖于容器的标签或端口配置,如果这些配置存在错误,可能会导致网络策略无法正常工作。

  4. 网络设备故障:网络策略需要依赖底层的网络设备,例如交换机、路由器、防火墙等,如果这些网络设备出现故障,可能会导致网络策略无法正常工作。

常见问题 

当网络策略出现故障时,可能会出现以下一些常见问题:

  1. 容器之间无法通信:当网络策略故障时,可能导致容器之间无法互相通信,这可能会影响应用程序的正常运行。

  2. 网络连接不稳定:当网络策略故障时,网络连接可能会不稳定,这可能会导致容器之间的连接断开或丢失数据包。

  3. 网络安全性受到威胁:当网络策略故障时,可能会导致容器间的网络流量无法得到正确的控制,从而导致网络安全性受到威胁。

为了避免网络策略故障导致的问题,需要定期对网络策略进行检查和维护,确保其正常工作。同时,还需要备份网络策略的配置文件,并了解网络设备的故障排除方法,以便快速解决问题。

解决方案

解决Kubernetes网络策略故障的方法取决于具体的故障原因,以下是一些常见的解决方法:

  1. 检查网络策略的配置文件:如果网络策略的配置文件存在错误,可以通过检查和修改配置文件来解决问题。例如,可以检查规则定义、命名空间配置等信息是否正确配置。

  2. 升级或降级Kubernetes版本:如果Kubernetes的版本更新导致网络策略版本不兼容,可以尝试升级或降级Kubernetes版本来解决问题。建议在升级或降级前备份网络策略的配置文件,以避免数据丢失。

  3. 检查容器标签或端口配置:如果容器标签或端口配置存在错误,可以通过检查和修改配置文件来解决问题。例如,可以检查容器的标签和端口是否正确配置。

  4. 检查网络设备是否正常工作:如果网络策略依赖的底层网络设备出现故障,可以通过检查网络设备的日志或配置信息来解决问题。例如,可以检查交换机、路由器、防火墙等网络设备的日志或配置信息,确认网络设备是否正常工作。

  5. 检查网络策略的命名空间、标签和端口信息是否正确:如果网络策略的命名空间、标签和端口信息存在错误,可以通过检查和修改网络策略的配置文件来解决问题。例如,可以检查网络策略的命名空间、标签和端口信息是否正确配置。

  6. 重新部署网络策略:如果以上方法无法解决问题,可以考虑重新部署网络策略。例如,可以使用kubectl命令删除网络策略,并重新创建网络策略。在重新部署前建议备份网络策略的配置文件,以避免数据丢失。

常见解决命令

以下是一些常用的kubectl命令,用于检查和解决网络策略故障:

查看所有网络策略:

kubectl get networkpolicies --all-namespaces

查看网络策略的详细信息:

kubectl describe networkpolicy <network-policy-name> -n <namespace>

检查网络策略的规则是否正确:

kubectl get networkpolicy <network-policy-name> -n <namespace> -o yaml

检查容器是否正确标记:

kubectl get pods --selector=<label-selector> -n <namespace> -o wide

检查容器的端口是否正确配置:

kubectl get pods <pod-name> -n <namespace> -o yaml

检查节点是否正确配置:

kubectl get nodes -o wide

检查网络设备是否正常工作:

kubectl logs <network-device-pod-name> -n <namespace>

如果你的Kubernetes集群使用的是Calico网络策略,你可以使用以下命令:

查看所有Calico网络策略:

kubectl get networkpolicies.projectcalico.org --all-namespaces

查看Calico网络策略的详细信息:

kubectl describe networkpolicy <network-policy-name> -n <namespace>

检查Calico网络策略的规则是否正确:

kubectl get networkpolicy <network-policy-name> -n <namespace> -o yaml

检查Calico网络设备是否正常工作:

kubectl logs -n kube-system -l k8s-app=calico-node

以上是一些常用的kubectl命令,用于检查和解决网络策略故障。如果遇到无法解决的问题,建议查阅相关的Kubernetes文档或向社区寻求帮助。

1.4 DNS 故障

Kubernetes中的DNS服务是用于在容器之间解析域名的重要组件之一。如果DNS服务出现故障,可能会导致容器无法正确解析域名,从而影响应用程序的正常运行。

常见原因

以下是几种可能导致DNS故障的情况:

  1. DNS配置错误:Kubernetes中的DNS服务需要正确配置才能正常工作,例如需要配置正确的域名服务器、搜索域等信息。如果DNS配置存在错误,可能会导致DNS服务无法正常工作。

  2. DNS版本不兼容:Kubernetes的版本更新可能会导致DNS版本不兼容,从而导致DNS故障。

  3. 网络连接不稳定:网络连接不稳定可能会导致DNS服务无法正常解析域名。

  4. 容器网络配置错误:如果容器的网络配置存在错误,可能会导致容器无法正确连接到DNS服务,从而导致DNS故障。

常见问题

当DNS服务出现故障时,可能会出现以下一些常见问题:

  1. 容器无法正确解析域名:当DNS服务故障时,容器无法正确解析域名,这可能会影响应用程序的正常运行。

  2. DNS解析延迟:当DNS服务故障时,DNS解析可能会变得缓慢,这可能会导致容器之间的通信延迟。

  3. 容器网络连接不稳定:当DNS服务故障时,网络连接可能会不稳定,这可能会导致容器之间的连接断开或丢失数据包。

为了避免DNS故障导致的问题,需要定期对DNS服务进行检查和维护,确保其正常工作。同时,还需要备份DNS的配置文件,并了解网络设备的故障排除方法,以便快速解决问题。

解决方案

以下是一些常用的网络设备故障排除方法,用于解决Kubernetes中DNS服务和网络策略的故障:

检查网络设备是否连通:可以使用ping命令检查网络设备是否连通,例如:

ping <network-device-ip>

如果网络设备无法连通,可能是网络设备的IP地址或网络配置存在问题。

检查网络设备的日志信息:可以通过查看网络设备的日志信息来了解网络设备的工作情况,例如:

kubectl logs <network-device-pod-name> -n <namespace>

检查网络设备的配置信息:

可以通过查看网络设备的配置信息来了解网络设备是否正确配置,例如:

kubectl exec -it <network-device-pod-name> -n <namespace> -- <command> <arguments>

检查网络设备的版本信息:

可以通过查看网络设备的版本信息来了解网络设备是否需要升级,例如:

kubectl exec -it <network-device-pod-name> -n <namespace> -- <command> <arguments>

检查网络设备的连接状态:

可以通过查看网络设备的连接状态来了解网络设备的工作情况,例如:

kubectl exec -it <network-device-pod-name> -n <namespace> -- <command> <arguments>

需要注意的是,在进行网络设备故障排除时,需要谨慎操作,避免数据丢失或其他不良后果。建议在解决问题前备份所有关键数据,并根据实际情况选择合适的故障排除方法。如果遇到无法解决的问题,建议向网络设备供应商寻求帮助。

3 总结

网络故障是Kubernetes中常见的问题之一,可能会影响应用程序的正常运行。以下是一些网络故障的常见原因和解决方法的总结:

  1. DNS故障:
  • 常见原因:DNS配置错误、DNS版本不兼容、网络连接不稳定、容器网络配置错误等。
  • 解决方法:检查DNS配置文件、升级或降级DNS版本、检查网络连接、检查容器网络配置等。
  1. 网络策略故障:
  • 常见原因:网络策略配置错误、Kubernetes版本不兼容、容器标签或端口配置错误、网络设备故障等。
  • 解决方法:检查网络策略配置文件、升级或降级Kubernetes版本、检查容器标签或端口配置、检查网络设备故障等。
  1. 网络设备故障:
  • 常见原因:网络设备IP地址或网络配置错误、网络设备版本不兼容、网络设备连接状态异常等。
  • 解决方法:使用ping命令检查网络设备是否连通、查看网络设备的日志信息、检查网络设备的配置信息、查看网络设备的版本信息、检查网络设备的连接状态等。

4 投票


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/644406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FasterTransformer 005 初始化:如何将参数传给模型?

cpp的例子 device_malloc cpp没有用具体数值初始化 float *d_from_tensor NULL;device_malloc(&d_from_tensor, batch_size * seq_len * hidden_dim);https://github1s.com/NVIDIA/FasterTransformer/blob/v1.0/sample/cpp/transformer_fp32.cc#L35-L38 直接用的cudaMal…

【电子学会】2023年03月图形化四级 -- 绘制直尺

绘制直尺 编写一段程序&#xff0c;绘制一段7厘米的直尺。 1. 准备工作 &#xff08;1&#xff09;保留小猫角色&#xff0c;隐藏&#xff1b; &#xff08;2&#xff09;白色背景。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;设置笔的颜色为红色&#…

事务和事务的隔离级别

一、事务 &#xff08;一&#xff09;为什么需要事务 事务是数据库管理系统&#xff08;DBMS&#xff09;执行过程中的一个逻辑单位&#xff08;不可再进行分割&#xff09;&#xff0c;由一个有限的数据库操作序列构成&#xff08;多个DML语句&#xff0c;select语句不包含事…

数字图像处理期末复习习题 SCUEC part1

1.在利用LoG算子做边缘检测的时候&#xff0c;作为一种经验法则&#xff0c;当滤波器空间参数为a7时&#xff0c;LoG滤波器空域模板大小应为 答&#xff1a;4343 理由是&#xff1a;n大于等于6a1 2.空间域方法主要分为灰度变换和空间滤波两类&#xff0c;灰度变换在图像的单…

【前端 - CSS】第 15 课 - 复合选择器

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快 &#xff01; 时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、复合选择器 2.1、后代选择器 2.2、子代选择器 2.3、并集选择器 2.4、交集选择器&#xff08;了解&#xff09…

SpringBatch从入门到实战(三):父子Job和多步骤控制

一&#xff1a;Job嵌套 Job之前也可以嵌套&#xff0c;比如一个父Job封装多个已经存在的子Job。 Configuration public class ChildrenJobConfig {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Beanpublic…

基础知识学习---牛客网C++面试宝典(八)操作系统--第三节

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

Golang每日一练(leetDay0096) 添加运算符、移动零

目录 282. 给表达式添加运算符 Expression Add Operators &#x1f31f;&#x1f31f;&#x1f31f; 283. 移动零 Move Zeroes &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 …

Cenos7 --- Redis下载和安装(Linux版本)

1.下载和安装 Download | Redis进入官网Download | Redis&#xff0c; 上边点击下载7.0.11,右键复制下载衔接 https://download.redis.io/releases/redis-7.0.2.tar.gz 1.weget获取 我这个安装包放在 /tools/installbags下 cd /tools/installbags wget https://download.red…

Java进阶 —— Java多线程编程笔记

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

【头歌-Python】9.3 中英文词云绘制(project) 第1~3关

第1关&#xff1a;词云练习1 任务描述 本关任务&#xff1a;编写一个能制作词云的小程序。 相关知识 词云 词云&#xff0c;也叫文字云&#xff0c;是一种应用广泛的数据可视化方法。是过滤掉文本中大量的低频信息&#xff0c;形成“关键词云层”或“关键词渲染”&#xf…

基于VMWare组件安装Centos7.9

1.前提条件 使用VMware进行安装&#xff0c;VMware可以自行下载&#xff0c;需要介质(VMware和CentOS7.9)的同仁&#xff0c;请留言&#xff0c;我给你下载链接。 2.CentOS7.9安装 1.打开VMware&#xff0c;点击“新建虚拟机(N)...” 2.选择“典型” &#xff0c;点击“下一步…

基础知识学习---牛客网C++面试宝典(六)操作系统--第一节

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

A100 GPU服务器安装GPU驱动教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【OpenCV DNN】Flask 视频监控目标检测教程 06

欢迎关注『OpenCV DNN Youcans』系列&#xff0c;持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 06 3.6 OpenCVFlask实时监控和视频播放cvFlask06 项目的文件树cvFlask06 项目的程序文件cvFlask06 项目的网页模板cvFlask06 项目的运行 本系列从零开始&#xff0c;详细…

chatgpt赋能python:Python排序算法实现及其应用

Python排序算法实现及其应用 排序是计算机科学中最基础也是最常用的算法之一。在数据分析、数据挖掘和机器学习等领域&#xff0c;排序算法有着广泛的应用。Python作为一种流行的编程语言&#xff0c;在排序方面具有一定的优势。本文将介绍一些常见的Python排序算法实现以及应…

有趣的图(三)(57)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 咱们之前分别学习了图的基本概念&#xff0c;和图的深度优先遍历算法dfs。 你学会了吗&#xff1f; 咱们今天要学…

Linux系统的tty架构及UART驱动详解

​一、模块硬件学习 1.1. Uart介绍 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter)&#xff0c;通常称为UART&#xff0c;是一种异步收发传输器&#xff0c;是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。 作为把并…

面试问题总结----C/C++部分

1、本栏用来记录社招找工作过程中的内容,包括基础知识学习以及面试问题的记录等,以便于后续个人回顾学习; 暂时只有2023年3月份,第一次社招找工作的过程; 2、个人经历: 研究生期间课题是SLAM在无人机上的应用,有接触SLAM、Linux、ROS、C/C++、DJI OSDK等; 3、参加工作后…

C++程序流程结构

目录 程序流程结构 一、选择结构 1.1 If语句 1.2 三目运算符 1.3 switch语句 二、循环结构 2.1 while 循环语句 2.2 do…while循环 2.3 for循环 2.4 嵌套循环 三、跳转语句 3.1 break语句 3.2 continue 语句 3.3 goto语句 程序流程结构 C/C支持最基本的三种程…