Cilium基础架构

news2024/11/15 21:22:10

Cilium作为一款Kubernetes CNI插件,从一开始就是为大规模和高度动态的容器环境而设计,并且带来了API级别感知的网络安全管理功能,通过使用基于Linux内核特性的新技术——BPF,提供了基于service/pod/container作为标识,而非传统的IP地址,来定义和加强容器和Pod之间网络层、应用层的安全策略。因此,Cilium不仅将安全控制与寻址解耦来简化在高度动态环境中应用安全性策略,而且提供传统网络第3层、4层隔离功能,以及基于http层上隔离控制,来提供更强的安全性隔离。

另外,由于BPF可以动态地插入控制Linux系统的程序,实现了强大的安全可视化功能,而且这些变化是不需要更新应用代码或重启应用服务本身就可以生效,因为BPF是运行在系统内核中的。

Cilium Architecture

在这里插入图片描述

Installation Using Kubespray

kubespray部署kubernetes(containerd + cilium)

root@node1:~# kubectl get node
NAME    STATUS   ROLES           AGE    VERSION
node1   Ready    control-plane   7d6h   v1.24.6
node2   Ready    control-plane   7d6h   v1.24.6
node3   Ready    <none>          7d6h   v1.24.6
root@node1:~# kubectl get pods -o wide -nkube-system | grep cilium
cilium-operator-f6648bc78-5qqn8   1/1     Running   109 (3h58m ago)   7d4h   192.168.64.10   node3   <none>           <none>
cilium-operator-f6648bc78-v44zf   1/1     Running   120               7d4h   192.168.64.9    node2   <none>           <none>
cilium-qwkkf                      1/1     Running   11 (3d4h ago)     7d4h   192.168.64.8    node1   <none>           <none>
cilium-s4rdr                      1/1     Running   5 (3d4h ago)      7d4h   192.168.64.10   node3   <none>           <none>
cilium-v2dnw                      1/1     Running   15 (3d4h ago)     7d4h   192.168.64.9    node2   <none>           <none>
root@node1:~# kubectl exec -it -n kube-system cilium-qwkkf -- cilium status --verbose
Defaulted container "cilium-agent" out of: cilium-agent, mount-cgroup (init), apply-sysctl-overwrites (init), clean-cilium-state (init)
KVStore:                Ok   etcd: 3/3 connected, lease-ID=797e89450e0683a2, lock lease-ID=3f888935025bf628, has-quorum=true: https://192.168.64.10:2379 - 3.5.4; https://192.168.64.8:2379 - 3.5.4 (Leader); https://192.168.64.9:2379 - 3.5.4
Kubernetes:             Ok   1.24 (v1.24.6) [linux/amd64]
Kubernetes APIs:        ["cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumNetworkPolicy", "core/v1::Namespace", "core/v1::Node", "core/v1::Pods", "core/v1::Service", "discovery/v1::EndpointSlice", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement:   Probe   [enp0s2 192.168.64.8]
Host firewall:          Disabled
CNI Chaining:           none
Cilium:                 Ok   1.12.1 (v1.12.1-4c9a630)
NodeMonitor:            Disabled
Cilium health daemon:   Ok   
IPAM:                   IPv4: 4/254 allocated from 10.233.64.0/24, 
Allocated addresses:
  10.233.64.220 (kube-system/coredns-665c4cc98d-l7mwz[restored])
  10.233.64.236 (health)
  10.233.64.54 (kube-system/dns-autoscaler-6567c8b74f-ql5bw[restored])
  10.233.64.93 (router)
BandwidthManager:       Disabled
Host Routing:           BPF
Masquerading:           BPF       [enp0s2]   10.233.64.0/24 [IPv4: Enabled, IPv6: Disabled]
Clock Source for BPF:   jiffies   [250 Hz]
Controller Status:      38/38 healthy
  Name                                          Last success    Last error      Count   Message
  bpf-map-sync-cilium_lxc                       2s ago          never           0       no error   
  cilium-health-ep                              24s ago         76h35m46s ago   0       no error   
  dns-garbage-collector-job                     30s ago         never           0       no error   
  endpoint-1304-regeneration-recovery           never           never           0       no error   
  endpoint-2383-regeneration-recovery           never           never           0       no error   
  endpoint-2712-regeneration-recovery           never           never           0       no error   
  endpoint-356-regeneration-recovery            never           never           0       no error   
  endpoint-gc                                   35s ago         never           0       no error   
  ipcache-bpf-garbage-collection                4m55s ago       never           0       no error   
  ipcache-inject-labels                         3h35m34s ago    76h39m23s ago   0       no error   
  k8s-heartbeat                                 7s ago          never           0       no error   
  kvstore-etcd-lock-session-renew               12h20m8s ago    never           0       no error   
  kvstore-etcd-session-renew                    never           never           0       no error   
  kvstore-locks-gc                              26s ago         never           0       no error   
  kvstore-sync-store-cilium/state/nodes/v1      30s ago         never           0       no error   
  metricsmap-bpf-prom-sync                      2s ago          never           0       no error   
  propagating local node change to kv-store     76h39m22s ago   never           0       no error   
  resolve-identity-1304                         2m16s ago       never           0       no error   
  restoring-ep-identity (2383)                  76h38m9s ago    never           0       no error   
  restoring-ep-identity (2712)                  76h38m10s ago   never           0       no error   
  restoring-ep-identity (356)                   76h38m9s ago    never           0       no error   
  sync-IPv4-identity-mapping (1304)             1m49s ago       never           0       no error   
  sync-IPv4-identity-mapping (2383)             4m45s ago       never           0       no error   
  sync-IPv4-identity-mapping (356)              4m46s ago       never           0       no error   
  sync-endpoints-and-host-ips                   22s ago         never           0       no error   
  sync-lb-maps-with-k8s-services                76h38m9s ago    never           0       no error   
  sync-node-with-ciliumnode (node1)             76h39m24s ago   never           0       no error   
  sync-policymap-1304                           34s ago         never           0       no error   
  sync-policymap-2383                           31s ago         never           0       no error   
  sync-policymap-2712                           30s ago         never           0       no error   
  sync-policymap-356                            30s ago         never           0       no error   
  sync-to-k8s-ciliumendpoint (1304)             11s ago         never           0       no error   
  sync-to-k8s-ciliumendpoint (2383)             9s ago          never           0       no error   
  sync-to-k8s-ciliumendpoint (2712)             10s ago         never           0       no error   
  sync-to-k8s-ciliumendpoint (356)              9s ago          never           0       no error   
  template-dir-watcher                          never           never           0       no error   
  waiting-initial-global-identities-ep (2383)   76h38m9s ago    never           0       no error   
  waiting-initial-global-identities-ep (356)    76h38m9s ago    never           0       no error   
Proxy Status:            OK, ip 10.233.64.93, 0 redirects active on ports 10000-20000
Global Identity Range:   min 256, max 65535
Hubble:                  Disabled
KubeProxyReplacement Details:
  Status:                 Probe
  Socket LB:              Enabled
  Socket LB Protocols:    TCP, UDP
  Devices:                enp0s2 192.168.64.8
  Mode:                   SNAT
  Backend Selection:      Random
  Session Affinity:       Enabled
  Graceful Termination:   Enabled
  NAT46/64 Support:       Disabled
  XDP Acceleration:       Disabled
  Services:
  - ClusterIP:      Enabled
  - NodePort:       Enabled (Range: 30000-32767) 
  - LoadBalancer:   Enabled 
  - externalIPs:    Enabled 
  - HostPort:       Enabled
BPF Maps:   dynamic sizing: on (ratio: 0.002500)
  Name                          Size
  Non-TCP connection tracking   262144
  TCP connection tracking       524288
  Endpoint policy               65535
  Events                        2
  IP cache                      512000
  IP masquerading agent         16384
  IPv4 fragmentation            8192
  IPv4 service                  65536
  IPv6 service                  65536
  IPv4 service backend          65536
  IPv6 service backend          65536
  IPv4 service reverse NAT      65536
  IPv6 service reverse NAT      65536
  Metrics                       1024
  NAT                           131072
  Neighbor table                131072
  Global policy                 16384
  Per endpoint policy           65536
  Session affinity              65536
  Signal                        2
  Sockmap                       65535
  Sock reverse NAT              65536
  Tunnel                        65536
Encryption:           Disabled
Cluster health:       3/3 reachable   (2023-07-15T16:56:09Z)
  Name                IP              Node        Endpoints
  node1 (localhost)   192.168.64.8    reachable   reachable
  node2               192.168.64.9    reachable   reachable
  node3               192.168.64.10   reachable   reachable

All In CNI

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

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

相关文章

树莓派-家庭健康监测-空气篇

树莓派-家庭健康监测-空气篇 最后编辑日期: 2023.7.16 1、背景和目标 室内空气中高浓度的二氧化碳会损害人类的认知能力和健康&#xff0c;良好室内空气质量的重要性和价值不言而喻。家庭健康监测-空气篇应运而生。 最后效果总览: 细节: 手机预览: 实现功能: 二氧化碳…

Redis数据类型的常用命令和应用场景

1. Redis数据类型概述 Redis 常见的数据类型有10 种&#xff0c;其中包括 5 种基本数据类型&#xff1a;Strings(字符串)、Lists(列表)、Sets(集合)、Hashes(散列)、Sorted sets(Zset有序集合)。除了基本数据类型外&#xff0c;还有 5 种常用数据类型&#xff1a;Bitmaps 、Hy…

《二叉搜索树OJ》

文章目录 1、 [根据二叉树创建字符串](https://leetcode.cn/problems/construct-string-from-binary-tree/)2、 [二叉树的层序遍历](https://leetcode.cn/problems/binary-tree-level-order-traversal/)3、 [二叉树的层序遍历 II](https://leetcode.cn/problems/binary-tree-le…

5.3 Python高级特性之-列表生成式、生成器、迭代器

一、 列表生成式 是Python内置的非常简单却强大的可以用来创建list的生成式 具体可根据如下案例理解&#xff0c;且代码也是可用的""" 1、 生成[0,1,2,3,4,5,6]这样列表 """ print(list(range(0, 7))) """ 2、 生成[0&#xff0…

MyBatis入门案列

MyBatis入门案列 开发Mybatis程序的步骤&#xff1a; 1、配置mybatis conf.xml: 配置数据库信息 和 需要加载的映射文件 &#xff12;、表 - 类 映射文件xxMapper.xml: 增删改查标签<select> &#xff13;、测试类: session.selectOne(“需要查询的SQL的namespace.id”…

jenkins 采用ssh方式连接gitlab连接不上

一、gitlab 添加jenkins服务器的公钥 jenkins 生成秘钥命令 ssh-keygen -t rsa2.jenkins 秘钥地址&#xff1a; cd /root/.ssh3.复制公钥 到gitlab 添加 cat id_rsa_pub4.添加私钥到jenkins cat id_rsa5.绑定&#xff08;顺利的话到这里就结束了&#xff09; &#xff0…

oc基本控件2

// // ViewController.m // OcDemoTest // // Created by Mac on 2023/7/14. //#import "ViewController.h"interface ViewController () // label property (weak, nonatomic) IBOutlet UIImageView *imageView; // Use of undeclared identifier // 全局propert…

基于Open3D的点云处理11-三维点云表面重建

点云表面重建 &#xff08;1&#xff09;显式建模方法&#xff1a; Explicit reconstruction 例如&#xff1a;Delaunay 三角网、Alpha shapes &#xff08;2&#xff09;隐式建模方法&#xff1a; Implicit reconstruction 例如&#xff1a;径向基函数法、移动最小二乘法、泊…

【QT】——Base64加解密

介绍 用 记事本 打开 exe、jpg、pdf 这些文件时&#xff0c;我们都会看到一大堆乱码&#xff0c;因为二进制文件包含很多无法显示和打印的字符。如果要让记事本这样的文本处理软件 能 处理二进制数据&#xff0c;如使用 json 保存二进制信息&#xff0c;需要先把数据先做一个 …

微服务 云原生:搭建 K8S 集群

为节约时间和成本&#xff0c;仅供学习使用&#xff0c;直接在两台虚拟机上模拟 K8S 集群搭建 踩坑之旅 系统环境&#xff1a;CentOS-7-x86_64-Minimal-2009 镜像&#xff0c;为方便起见&#xff0c;直接在 root 账户下操作&#xff0c;现实情况最好不要这样做。 基础准备 关…

数据在内存中的存储1(C语言进阶)

数据在内存中的存储 1.数据类型介绍1.1类型的基本归类&#xff1a;整形家族浮点数家族构造类型指针类型空类型 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍为什么有大端和小端&#xff1a; 我们今天来学习数据在内存中的存储 1.数据类型介绍 前面我们已经学习了基…

TCP三次握手四次挥手

文章目录 TCP 三次握手和四次挥手1、三次握手过程image-202307100943094972、为什么要三次握手3、第 2 次握手传回了 ACK&#xff0c;为什么还要传回 SYN&#xff1f;4、断开连接-TCP 四次挥手5、为什么要四次挥手6、丢包问题7、为什么不能把服务器发送的 ACK 和 FIN 合并起来&…

qt开发技巧之嵌入式linux qt按钮点击触发两次

1.问题 移植qt5.12.9到嵌入式linux系统&#xff0c;tslib作为触摸输入&#xff0c;开发平台是imx6ull&#xff0c;点击pushbutton按钮会出现触发两次点击的情况。 2.解决 vi /etc/profile&#xff0c;在 /etc/profile里添加环境变量&#xff0c;禁止QT自带输入检测&#xff0…

vue-watch监听器

1. 概述 watch是 vue 中常用的监听器&#xff0c;它主要用于侦听数据的变化&#xff0c;在数据发生变化的时候执行一些操作。 Vue官网很明确的建议我们这样使用watch侦听属性&#xff1a;当需要在数据变化时执行异步或开销较大的操作时&#xff0c;这个方式是最有用的。 2. 用…

【通览一百个大模型】XLNet(Google)

XLNet 欢迎订阅阅读【大模型&NLP&算法】。 作者&#xff1a;王嘉宁本文章内容为转载或整理&#xff1b;仓库链接&#xff1a;https://github.com/wjn1996/LLMs-NLP-Algo 【通览一百个大模型】XLNet&#xff08;Google&#xff09; 作者&#xff1a;王嘉宁&#xff0…

lua脚本语言学习笔记

Lua 是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。 因为我们使用redis的时候一般要写lua脚本&#xff0c;这篇文章就介绍一下lua脚本语言的基础用…

Python 算法基础篇:时间复杂度和空间复杂度简介

Python 算法基础篇&#xff1a;时间复杂度和空间复杂度简介 引言 1. 时间复杂度 a ) 常见的时间复杂度 b ) 时间复杂度示例 2. 空间复杂度 a ) 常见的空间复杂度 b ) 空间复杂度示例 结论 引言 在学习和分析算法时&#xff0c;时间复杂度和空间复杂度是两个关键概念。它们帮助…

【Python】类型注解 ④ ( 函数类型注解 | 函数形参类型注解语法 | 函数返回值类型注解 )

文章目录 一、函数形参类型注解1、函数中由于类型缺省导致的提示问题2、函数形参类型注解语法3、代码示例 - 函数形参类型注解 二、函数返回值类型注解1、函数返回值类型注解语法2、代码示例 - 函数返回值类型注解 一、函数形参类型注解 1、函数中由于类型缺省导致的提示问题 由…

LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

小程序api的promise化

小程序根目录cmd运行安装命令 npm install --save miniprogram-api-promise1.0.4 安装完成之后先到根目录中删除miniprogram_npm文件夹(不删除构建npm时可能会出现问题) 删除之后再在工具中点击构建npm 构建成功之后会看到根目录中重新出现了miniprogram_npm文件夹 在app.j…