随笔分类 -  kubernetes

摘要:使用kind搭建kubernetes kind是一个非常方便的用于创建kubernetes测试集群的工具,可以使用kind创建的集群来对kubernetes进行测试。 kind架构 kind的架构如下,它将docker容器作为一个kubernetes的"node",并在该"node"中安装kuber 阅读全文
posted @ 2020-09-25 12:11 charlieroro 阅读(7485) 评论(0) 推荐(0) 编辑
摘要:Istio中的流量配置 Istio注入的容器 Istio的数据面会在pod中注入两个容器:istio-init和istio-proxy。 Istio-init istio-init会通过创建iptables规则来接管流量: 命令行参数 -p 15001表示出向流量被iptable重定向到Envoy的 阅读全文
posted @ 2020-09-18 10:30 charlieroro 阅读(2491) 评论(0) 推荐(0) 编辑
摘要:Istio 的配置分析 Analyzer 的消息格式 istioctl analyze 命令提供了如下消息格式: <level> [<code>] (<affected-resource>) <message-details> 字段可以展开为: <resource-kind> <resource-n 阅读全文
posted @ 2020-09-07 13:48 charlieroro 阅读(1708) 评论(0) 推荐(1) 编辑
摘要:Istio的部署模型介绍 部署模型 当配置一个生产级别的Istio时,需要解决一些问题:如网格是单集群使用,还是跨集群使用?所有的服务会放到一个完全可达的网络中,还是需要网关来连接跨网络的服务?使用一个控制面(可能会跨集群共享一个控制面),还是使用多个控制面来实现高可用(HA)?所有的集群都连接到一 阅读全文
posted @ 2020-09-05 21:25 charlieroro 阅读(1390) 评论(0) 推荐(0) 编辑
摘要:Istio可观测性 Istio的可观测性包括metrics,日志,分布式链路跟踪以及可视化展示。下面主要介绍如何在istio中部署基于Prometheus的metrics监控,基于jaeger的链路跟踪和基于kiali的可视化界面。 Prometheus 配置说明 在istio网格中,每个组件都会暴 阅读全文
posted @ 2020-09-03 13:10 charlieroro 阅读(1264) 评论(2) 推荐(0) 编辑
摘要:Istio安全-授权 授权HTTP流量 本节展示如何在istio网格中授权HTTP流量。 部署Bookinfo。由于下例在策略中使用了principal和namespace,因此需要启用mutual TLS。 为使用HTTP流量的负载配置访问控制 本任务展示了如何使用istio的授权设置访问控制。首 阅读全文
posted @ 2020-09-01 16:09 charlieroro 阅读(1180) 评论(0) 推荐(1) 编辑
摘要:Istio 安全(概念) 通过将一个单一应用划分为多个原子服务的方式,可以提供更好的灵活性,可扩展性以及重用服务的能力。然而微服务对安全有特殊的要求: 抵御中间人攻击,需要用到流量加密 提供灵活的服务访问控制,需要用到TLS和细粒度访问策略 决定哪些人在哪些时间可以做哪些事,需要用到审计工具 为了解 阅读全文
posted @ 2020-08-31 11:26 charlieroro 阅读(1525) 评论(0) 推荐(0) 编辑
摘要:Istio的流量管理(实操三) 涵盖官方文档Traffic Management章节中的egress部分。 访问外部服务 由于启用了istio的pod的出站流量默认都会被重定向到代理上,因此对集群外部URL的访问取决于代理的配置。默认情况下,Envoy代理会透传对未知服务的访问,虽然这种方式为新手提 阅读全文
posted @ 2020-08-28 20:42 charlieroro 阅读(1770) 评论(0) 推荐(0) 编辑
摘要:混沌测试平台 Chaos Mesh Chaos Mesh 是PingCap团队研发的一款用于测试kubernetes环境的工具。通过人为地在集群中注入故障来检测集群对故障的处理以及恢复能力。更详细信息可以查看这篇文章。混沌测试与针对某个应用测试的区别为:前者更倾向于在现有大规模集群中进行测试,影响因 阅读全文
posted @ 2020-07-29 20:56 charlieroro 阅读(7969) 评论(0) 推荐(0) 编辑
摘要:评测Loki日志工具 本文仅对Loki进行简单评测,不涉及原理和细节。 部署Loki Loki是grafana团队开发一个日志采集工具。推荐使用helm方式安装loki,官方推荐的tanka需要使用aws的s3服务。安装helm后直接运行如下命令即可在loki命名空间中部署最简单的loki套件。 # 阅读全文
posted @ 2020-07-17 22:52 charlieroro 阅读(2837) 评论(0) 推荐(0) 编辑
摘要:Istio安全-认证 认证策略 本节会介绍如何启用,配置和使用istio的认证策略,了解更多关于认证的底层概念。 首先了解istio的认证策略和相关的mutual TLS认证概念,然后使用default配置安装istio。 配置 下面例子会创建两个命名空间foo和bar,以及两个服务httpbin和 阅读全文
posted @ 2020-07-15 17:18 charlieroro 阅读(1799) 评论(8) 推荐(1) 编辑
摘要:Istio安全-证书管理 注:本章更新至1.8版本 插入现有CA证书 本节展示了管理员如何使用现有的根证书来授权istio证书,签发证书和密钥,不使用Istio自动生成的证书。 默认情况下,istio的CA会生成一个自签的根证书和密钥,并使用它们签发负载证书。istio的CA也可以使用管理员指定的证 阅读全文
posted @ 2020-07-14 16:46 charlieroro 阅读(2224) 评论(0) 推荐(0) 编辑
摘要:Istio的运维-诊断工具 涵盖官方文档的诊断工具章节 使用istioctl命令行工具 首先可以通过日志或Introspection检查各个组件,如果不足以支持问题定位,可以参考如下操作: istioctl是一个可以用于调试和诊断istio服务网格的工具。Istio项目为Bash和ZSH运行下的is 阅读全文
posted @ 2020-06-09 19:59 charlieroro 阅读(3148) 评论(0) 推荐(0) 编辑
摘要:使用k3s测试Cilium,安装步骤可以参见官方文档 Cilium安装使用 docker安装 使用如下命令安装最新版本的docker yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 yum-config-manager 阅读全文
posted @ 2020-04-19 20:17 charlieroro 阅读(4596) 评论(0) 推荐(1) 编辑
摘要:Cilium架构 译自:http://docs.cilium.io/en/stable/architecture/ 本文档描述了Cilium的架构。它通过记录BPF数据路径(datapath)的钩子来实现Cilium数据路径,那么Cilium数据路径是如何与容器编排层继承,以及如何在各层(如BPF数 阅读全文
posted @ 2020-04-19 00:20 charlieroro 阅读(3524) 评论(0) 推荐(1) 编辑
摘要:基于eBPF的微服务网络安全 翻译自:Network security for microservices with eBPF 一些开源的kubernetes工具已经开始使用eBPF,这些工具大多数与网络,监控和安全相关。 本文不会涵盖eBPF的方方面面,只作为一个入门指南,包括Linux内核的BP 阅读全文
posted @ 2020-04-18 11:40 charlieroro 阅读(2604) 评论(0) 推荐(0) 编辑
摘要:承接 "上文" ,块存储的CSI要比对象存储复杂一些,但总的处理逻辑还是一致的。下面以华为fusionstorage的 "CSI" 为例进行介绍,该插件支持了多个后端存储,如fusionstorage和oceanstor。下面是CSI插件与后端存储(fusionstorage)交互用到的配置文件。其 阅读全文
posted @ 2020-04-07 13:01 charlieroro 阅读(1271) 评论(0) 推荐(0) 编辑
摘要:[TOC] 需求来源 项目上目前使用的是openshift 3.11版本,对应kubernetes 1.11,需要在该平台上使用CSI插件。 GitHub地址:https://github.com/woodliu/csi s3 环境准备 本次使用openshift 3.11,对应kubernetes 阅读全文
posted @ 2020-03-27 14:48 charlieroro 阅读(1651) 评论(1) 推荐(1) 编辑
摘要:环境: kubernetes 1.11+/openshift3.11 自定义metric HPA原理: 首选需要注册一个apiservice(custom metrics API)。 当HPA请求metrics时,kube-aggregator(apiservice的controller)会将请求转 阅读全文
posted @ 2019-11-20 16:17 charlieroro 阅读(5923) 评论(2) 推荐(0) 编辑
摘要:使用 "velero" 可以对集群进行备份和恢复,降低集群DR造成的影响。velero的基本原理就是将集群的数据备份到对象存储中,在恢复的时候将数据从对象存储中拉取下来。可以从 "官方文档" 查看可接收的对象存储,本地存储可以使用Minio。下面演示使用velero将openstack上的opens 阅读全文
posted @ 2019-10-25 17:36 charlieroro 阅读(2049) 评论(3) 推荐(0) 编辑