【K8s多实例部署,访问指定节点上的服务】

本文介绍了如何通过SwaggUI访问指定的L3VPN接口进行查询操作,详细列出了使用curl命令复制并修改URL的过程,包括设置各种请求头信息。接着,文章展示了查找pod对应IP和端口号的步骤,并说明了如何将虚IP和端口替换为实际的podIP和服务端口,最后演示了在pod所在node节点上执行修改后命令的流程。
  1. 使用swaggui访问指定的接口(以根据名称查询l3vpn为例):

  2. 点击F12,打开监控界面,在swaggui上点击查询;

  3. 在监控界面上找到并copy对应的url:

  4. 将内容copy到nodepad++中:

curl 'https://172.171.10.30:30002/bbc/l3vpn/query?vpnName=sjktest%407516cb' \
  -H 'authority: 172.171.10.30:30002' \
  -H 'accept: application/json;charset=UTF-8' \
  -H 'accept-language: zh-CN,zh;q=0.9' \
  -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' \
  -H 'cookie: XXL_JOB_LOGIN_IDENTITY=7b226964223a312c22757365726e616d65223a2261646d696e222c2270617373776f7264223a226531306164633339343962613539616262653536653035376632306638383365222c22726f6c65223a312c227065726d697373696f6e223a6e756c6c7d; grafana_session=1dfe7667b3b9dea967f82448618216a4' \
  -H 'referer: https://172.171.10.30:30002/bbc/doc.html' \
  -H 'request-origion: SwaggerBootstrapUi' \
  -H 'sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36' \
  -H 'x-requested-with: XMLHttpRequest' \
  --compressed \
  --insecure

5. 查询pod对应的IP:

![在这里插入图片描述](https://img-blog.csdnimg.cn/abfb7ddf0bab4fdbadbb4b784796f327.png)

6. 将虚ip和端口号修改为pod对应的IP和服务对应的端口号,https改为http:
![在这里插入图片描述](https://img-blog.csdnimg.cn/56bbe44d6c994251927760c4713144c1.png#pic_center)

7. 将修改后的内容,copy到pod所在的node节点上执行:
![在这里插入图片描述](https://img-blog.csdnimg.cn/bb9992e7f86046cfa94f4718bd78a620.png)

Kubernetes节点部署中查看服务日志,通常涉及对 Pod 和容器日志的访问Kubernetes 本身并不直接提供集中化的日志管理功能,而是依赖于附加到每个节点的工具或集成的日志系统[^1]。以下是几种常见的方法: ### 使用 `kubectl` 查看日志 最简单的方法是使用 `kubectl logs` 命令来获取特定 Pod 的日志。例如: ```bash kubectl logs <pod-name> --namespace=<namespace> ``` 如果 Pod 中有多个容器,可以通过指定容器名称进一步细化: ```bash kubectl logs <pod-name> -c <container-name> --namespace=<namespace> ``` ### 查看特定节点上的日志 如果需要查看特定节点上所有 Pod 的日志,可以登录到该节点并直接检查容器运行时(如 Docker)的日志文件。对于使用 systemd 的系统,也可以通过 journalctl 来查看服务日志。 ### 集中式日志解决方案 为了更有效地管理和分析跨多个节点的日志数据,通常会部署集中式日志解决方案。这些方案包括但不限于: - **Elasticsearch + Fluentd + Kibana (EFK)**: 这是一个常用的组合,用于收集、存储和可视化日志数据。 - **Prometheus + Grafana**: 虽然主要用于监控指标,但结合其他组件也能处理日志数据。 - **Loki by Grafana Labs**: 特别设计用于 Kubernetes 环境下的日志聚合。 ### 示例:部署 Fluentd 作为 DaemonSet Fluentd 可以作为一个 DaemonSet 部署Kubernetes 集群中,确保每个节点都有一个 Fluentd 实例来收集日志,并将其发送到中央存储位置(如 Elasticsearch)。以下是创建 Fluentd DaemonSet 的简化配置示例: ```yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd namespace: kube-system spec: selector: matchLabels: k8s-app: fluentd-logging template: metadata: labels: k8s-app: fluentd-logging spec: containers: - name: fluentd image: fluent/fluentd-kubernetes-daemonset:v1.14.3-debian-elasticsearch7-1.0 resources: limits: memory: "200Mi" requests: cpu: "100m" memory: "200Mi" volumeMounts: - name: varlog mountPath: /var/log - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true volumes: - name: varlog hostPath: path: /var/log - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers ``` ### 注意事项 - 在部署任何日志收集工具之前,请确保了解其资源需求以及对现有集群性能的影响。 - 对于生产环境,建议采用经过验证的日志管理策略,这可能包括日志轮转、压缩和安全传输等措施。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值