10月前
评论
Kubernetes 网络之概念总览
本文是对Kubernetes网络相关概念的总体梳理,旨在为后续深入学习打下基础。文章首先介绍了OSI七层模型和TCP/IP四层模型,接着详细解释了网络数据包的结构及其传输过程。随后,文章探讨了IP路由、网络地址转换(NAT)、网络命名空间等关键概念,并介绍了CIDR、虚拟以太网设备对(veth-pair)、网桥等技术在容器网络中的应用。此外,还讲解了CNI、VIP、iptables、ipvs、netfilter等Kubernetes中常见的网络组件和技术。最后,文章讨论了底层网络与覆盖网络的区别,以及VXLAN等隧道协议的工作原理。通过这些概念的介绍,读者可以更好地理解Kubernetes网络的实现机制。
10月前
评论
etcd 常用命令
本文介绍了在使用 kubeadm 安装的 Kubernetes 集群中,如何通过命令行操作 etcd,包括查询和备份恢复等操作。首先,通过一系列命令获取当前 Master 节点主机名称、etcd pod 名称及证书目录路径。接着,文章详细列出了几个常用的查询命令,如查询 etcd 集群成员信息、状态信息(包括版本号和leader)、健康状况以及特定键值对的内容。此外,还提供了备份 etcd 数据至指定目录的方法。对于数据恢复,文章给出了三种不同的方法:当 etcd pod 正常运行时直接恢复、停止服务后进行恢复以及在前两种方法均失败情况下的应急处理方案。每种恢复方式都配有具体的操作步骤说明,以帮助用户根据实际情况选择最适合的恢复策略。
10月前
评论
Kubernetes 网络之 Calico 插件理论
Calico 是一个开源的网络及网络安全解决方案,主要用于容器、虚拟机和本地主机工作负载之间的网络连接。它以其高性能、灵活性和安全性而闻名,适用于需要高可扩展性和安全性的场景,支持多种平台如Kubernetes、OpenShift等。Calico 支持Linux eBPF、标准网络和Windows HNS等多种数据层,并内置Wireguard加密保护Pod间流量。其核心组件包括Felix(节点代理)、ETCD(存储集群路由信息)、BIRD(BGP客户端)以及BGP Route Reflector等。Calico提供两种主要网络模式:动态路由模式(基于BGP协议)和覆盖网络模式(IPIP或VXLAN协议)。其中,动态路由模式适合同一二层网络中的大规模集群;覆盖网络模式则适用于跨不同二层网络的场景,通过封装技术确保通信性能。
10月前
评论
修改Linux命令提示符
本文介绍了如何修改Linux命令提示符的方法。通过设置PS1环境变量的值,用户可以自定义命令行提示符的内容和颜色。文章详细列举了用于构建自定义提示符的各种参数及其含义,并提供了颜色代码表供参考。临时修改命令提示符只需直接在终端中更改PS1变量;若要使修改永久生效,则需将相关设置添加到`~/.bashrc`文件中并通过`source`命令重新加载配置。此外,还展示了如何结合颜色代码调整命令提示符的颜色,以增强可读性和个性化体验。
11月前
评论
Kubernetes 安装方法之 K3d
K3d 是一个轻量级的 Kubernetes 安装器,支持在 Docker 中运行单节点或多节点的 K3s 集群,适用于开发、测试和 CI/CD 环境。K3s 是由 Rancher 发布的轻量级 Kubernetes 发行版,专为边缘计算、物联网等资源受限环境设计,具有轻量级、易于安装、兼容性好等特点。K3d 可以通过简单的命令下载并安装,支持 AMD 和 ARM 架构。部署 Kubernetes 集群前需要进行一些准备工作,如关闭防火墙、禁用 swap 分区等。使用 `k3d cluster create` 命令可以创建单节点或包含多个节点的集群。K3d 提供了丰富的管理命令,如创建、删除、查看集群状态等。
11月前
评论
Kubernetes 常用命令、对象名称缩写汇总
本文介绍了Kubernetes的常用命令,涵盖了集群、节点、命名空间、控制器、Pod和服务等各个方面,适用于日常运维工作。**集群相关**部分包括查看集群信息、服务、组件状态、版本和API版本。**节点相关**部分涉及查看节点状态、资源使用情况、详细信息以及标签和污点管理。**命名空间相关**部分介绍了创建、查看、删除和切换命名空间的方法。**控制器相关**以Deployment为例,展示了创建、查看、更新、删除控制器及副本伸缩和滚动重启的操作。**Pod相关**部分提供了创建临时Pod、查看Pod列表与详情、删除Pod以及进入Pod容器执行命令的方法。**Service相关**则说明了如何基于已有Deployment创建Service,查看Service信息及其删除方式。最后,文章还列举了一些资源对象的缩写形式,以及如何为`kubectl`命令设置别名以提高工作效率。
11月前
评论
Kubernetes 存储之 StorageClass
本文介绍了Kubernetes中的StorageClass(存储类,SC)及其工作原理。StorageClass是一种资源对象,用于定义存储卷驱动器,并能根据PVC申请动态创建PV。它支持定义多种特性,如存储类型、访问模式、绑定模式、扩展策略和回收策略等。管理员可以定义一个或多个StorageClass对象,当用户创建PVC并指定StorageClass名称时,Kubernetes会自动使用对应的StorageClass来创建PV。此外,文章还提供了StorageClass的示例配置及说明了存储卷绑定模式(Immediate与WaitForFirstConsumer)、回收策略(Retain与Delete)以及如何启用存储卷自动扩容等功能。
11月前
评论
Kubernetes 安全机制之 RBAC
Kubernetes的RBAC机制用于控制对资源的访问权限,支持角色创建、分配及动态管理,增强安全性。
11月前
评论
Kubernetes 集群证书过期处理方法
本文介绍了如何处理使用 kubeadm 安装的 Kubernetes 集群中证书过期的问题。当集群证书(默认有效期为365天)到期后,执行 kubectl 命令会出现连接错误。解决方法包括:首先备份现有证书;然后检测证书的有效期;接着更新所有证书以重置其有效期;之后更新 Kubeconfig 文件;最后重启相关服务(如 kube-apiserver、kube-controller-manager、kube-scheduler 和 etcd)。通过这些步骤,可以确保集群的安全通信功能恢复正常。验证更新效果可以通过再次运行 kubectl 命令或检查证书来完成。
11月前
评论
Kubernetes 生成特定 Kubeconfig 文件
介绍生成仅能管理特定命名空间Kubeconfig文件的方法。
11月前
评论
Kubernetes 容器运行时之 Docker 与 Containerd
本文介绍了Kubernetes中的容器运行时(Container Runtime)的基本概念及其主要功能,包括镜像管理、容器生命周期管理、资源隔离等。重点讨论了Docker和Containerd这两种主流容器运行时的特点与区别。Docker最初是一个单一的二进制文件,后来发展成包含多个组件的架构,其中Containerd作为核心子组件负责实际的容器管理工作。而Containerd作为一个独立项目,强调简单性、健壮性和可移植性,已成为CNCF的标准之一。从Kubernetes 1.20版本开始,推荐使用Containerd作为默认容器运行时,因为它提供了更高效稳定的集成方式。但在某些特定场景下,如使用Docker in Docker或Docker Compose等工具时,仍需选择Docker。文章还提供了Containerd的安装方法及常用命令示例。
11月前
评论
HTTPS负载均衡WEB集群架构实现
本文详细介绍了如何构建一个基于HTTPS的负载均衡WEB集群架构。首先,准备了包括两台WEB服务器、一台NFS共享存储服务器、一台MariaDB数据库服务器和一台代理服务器在内的多个服务器。接着,配置了MariaDB数据库服务,创建了远程访问用户和博客网站所需的数据库。然后,设置了NFS服务器以提供文件共享功能,并在WEB服务器上安装了Nginx和PHP环境,配置了相应的Nginx站点以支持WordPress应用。最后,在代理服务器上配置了Nginx作为反向代理实现负载均衡,并通过挂载NFS共享路径来统一管理上传的图片等资源。整个过程涵盖了从基础环境搭建到高级功能设置的所有步骤,确保了WEB集群的安全性和高效性。