首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【云原生】Kubernetes(k8s)Calico 客户端工具 calicoctl

一、概述

是 Calico 客户端管理工具。可以方便的管理 calico 网络,配置和安全策略,calicoctl 命令行提供了许多资源管理命令,允许您创建,修改,删除和查看不同的 Calico 资源,网络资源包含:node,bgpPeer,hostEndpoint,workloadEndpoint,ipPool,policy,profile等。

官方文档:https://projectcalico.docs.tigera.io/reference/calicoctl/

关于Calico 可以参考我这篇文章:Kubernetes(k8s)CNI(Calico)网络模型原理

二、calicoctl 安装

三、calicoctl 简单使用

通过读写calico的数据存储系统(datastore)进行查看或者其他各类管理操作,通常,它需要提供认证信息经由相应的数据存储完成认证。在使用Kubernetes API数据存储时,需要使用类似kubectl的认证信息完成认证。它可以通过环境变量声明的和接入集群,例如以下命令格式运行calicoctl:

1)认证信息配置

2)查看 IP 资源池

3)配置 IP 池

IP 池 是 Calico 使用的IP 地址范围工作负载终端节点。

定义两个在此群集中使用的 IP 池。您可以仅使用一个 池,但我们定义了两个,编排操作如下:

执行并查看

如果使用kubectl创建,就必须查询apiVersion和kind

修改

4)IP 资源池示例演示

利用注解。

5)固定 IP 示例演示

利用注解

6)网络策略(NetworkPolicy)

表示应用的一组有序规则 到与 标签选择器。NetworkPolicy 是命名空间资源。NetworkPolicy 在特定命名空间中 仅适用于 工作负载终端节点资源 在该命名空间中。两个资源位于同一命名空间中,如果 namespace 两者上的值设置相同。看 全局网络策略资源 对于非命名空间网络策略。

【示例】此示例策略允许来自 TCP 流量 frontend 端口 6379 的终结点 database 端点。

执行

四、Kube-ipam

基于etcd分布式存储实现kubernetes动态IP网络分配管理,确保集群中IP地址的唯一性。Kube-ipam支持给kubernetes集群中的Pod固定IP地址,同时支持resolv.conf的DNS配置。这个需要基于网络插件(例如:、、、、等),这里就使用网络插件来实现。

一些场景往往对IP地址有依赖,需要使用的Pod,可以使用kube-ipam轻松解决这类问题。例如,mysql主从架构的时候,主database与从database之间的同步;例如keepalived做集群HA的时候,两个节点之间检测通信等;例如某些安全防护设备,需要基于IP地址进行网络安全访问策略限制的场景等。

GitHub地址:https://github.com/cloudnativer/kube-ipam

1)安装kube-ipam

请确保你的kubelet正确的配置了、 和  参数。下面给出一个kubelet的配置示例供你参考:

2)子网和etcd配置

你可以通过 subnet 参数设置IP子网信息,通过 gateway 设置网关信息。你可以通过 etcdConfig 配置etcd的证书和endpoint地址。编辑所有kubernetes node主机的  文件。

3)固定IP示例演示

这里没有真正的去验证,只是稍微说一下,还可以通过kube-ipam进行固定IP配置,有兴趣的小伙伴可以去试试;Calico 客户端工具 calicoctl简单使用就先到这里了,有任何疑问欢迎给我留言,后续会持续更新【云原生+大数据】相关的文章~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230314A0013N00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券