k8s使用总结

本文总结了在Kubernetes环境中,通过Ingress调用NginxService时遇到的连接超时问题及解决过程。从检查Pod状态、Service配置到调整节点网络,最终通过增加新节点解决了服务间调用不稳定的问题。

k8s使用总结:
问题现象:通过ingrens调用nginx service连接超时。
排查问题思路:
1.查看能够nginx pod服务是否正常。是正常
2.查看nginx service服务是否正常 正常。
3.在nginx service上添加nodeport,通过主机ip加service设置的port端口访问nginx 访问不通。
4.通过重启pod nginx 正常访问。

 问题继续现象:个别其他应用服务调用 配置中心连接超时、连接配置中心的ip和端口都正确。
然后查看连接失败的服务所在的node节点、发现现象nginx 和 连接失败配置中心的服务 都在同一个node节点、然后实验这个node去访问其他node的节点是否能ping通、结果不通。最好把此node节点拆除集群、然后其他服务拉起正常访问

1.服务器可能不干净
2.服务器配置低 导致再拉起镜像时踢掉其他服务器 
解决方案:添加新机器 新配置

<think>我们正在总结Kubernetes的相关知识,包括架构、核心概念和最佳实践。根据用户的需求和提供的引用,我们将组织一个清晰的结构。首先,Kubernetes是一个容器编排平台,用于自动化部署、扩展和管理容器化应用。其架构是典型的二层架构(Master节点和Node节点)和server-client架构。核心概念包括:- Pod:最小部署单元,包含一个或多个容器。- ReplicaSet/Deployment:确保Pod副本数符合预期,实现滚动更新和回滚。 -Service:定义一组Pod的访问策略,提供负载均衡。- Namespace:资源隔离,实现多租户。-资源配额(ResourceQuotas):限制命名空间内的资源使用。-自动扩缩容(HPA):根据指标动态调整Pod数量。 最佳实践涉及部署策略、资源管理、监控等。 下面我们将按照架构、核心概念、最佳实践三个部分进行总结,并确保使用正确的LaTeX格式。</think>### Kubernetes 知识点总结 #### **一、架构设计** Kubernetes 采用**二层架构**(Master-Node)和 **Server-Client 模型**: 1. **Master 节点**(控制平面): - **API Server**:集群操作的唯一入口,处理 REST 请求。 - **etcd**:分布式键值存储,保存集群状态。 - **Controller Manager**:执行控制器逻辑(如副本数维护)。 - **Scheduler**:将 Pod 分配到 Node 节点。 2. **Node 节点**(工作节点): - **kubelet**:管理 Pod 生命周期,与 API Server 通信。 - **kube-proxy**:实现 Service 的网络代理和负载均衡。 - **容器运行时**(如 Docker):运行容器。 > 引用[^2]:Kubernetes 架构是典型的二层架构,负责应用的部署、弹性及管理。 #### **二、核心概念** 1. **Pod** - 最小部署单元,包含一个或多个容器(共享网络/存储)。 - 示例:`web-app` Pod 包含 Nginx 和日志收集容器。 2. **Deployment** - 声明式管理 Pod 副本集,支持滚动更新和回滚。 - 示例:通过 `kubectl rollout undo` 回滚有问题的版本。 3. **Service** - 为一组 Pod 提供固定访问入口,实现负载均衡[^5]。 - 类型:`ClusterIP`(内部访问)、`NodePort`(节点端口)、`LoadBalancer`(云厂商负载均衡)。 4. **Namespace** - 资源隔离机制,支持多租户环境(如 `dev`/`prod` 命名空间)[^4]。 - 关键配置:资源配额(Resource Quotas)限制 CPU/内存用量。 5. **自动扩缩容(HPA)** - 根据 CPU 使用率或自定义指标(如 QPS)动态调整 Pod 数量[^5]。 - 公式:目标副本数 $=\left\lceil \frac{\text{当前指标值}}{\text{目标指标值}} \times \text{当前副本数} \right\rceil$。 6. **ConfigMap & Secret** - **ConfigMap**:存储非敏感配置(如环境变量)。 - **Secret**:加密管理敏感数据(如密码、密钥)。 #### **三、最佳实践** 1. **资源管理** - 为 Pod 设置 `requests`(最低资源需求)和 `limits`(最高资源上限),避免资源争抢。 - 示例 YAML: ```yaml resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "200m" memory: "512Mi" ``` 2. **高可用部署** - Master 节点多副本部署(结合 etcd 集群)。 - 应用多副本 + 反亲和性(`podAntiAffinity`),分散 Pod 到不同 Node。 3. **安全实践** - 使用 **RBAC**(基于角色的访问控制)限制用户权限。 - 启用 **Network Policies** 实现 Pod 间网络隔离。 4. **监控与日志** - 集成 **Prometheus** 收集指标,**Grafana** 可视化。 - **EFK 栈**(Elasticsearch+Fluentd+Kibana)集中管理日志。 > 引用[^1][^3]:Kubernetes 基于 Google Borg 十五年经验构建,是云原生时代的容器编排标准[^1][^3]。 --- ### 相关问题 1. **如何配置 Kubernetes 的滚动更新策略以减少服务中断?** 2. **etcd 在 Kubernetes 集群中的具体作用是什么?其数据存储机制如何保证一致性?** 3. **在混合云环境中部署 Kubernetes 有哪些关键挑战和解决方案?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值