sudo yum makecache fast 155 sudo yum -y install docker-ce 156 sudo service docker start calico calicoctl 配置文件,存储采用etcd https://projectcalico.docs.tigera.io/getting-started/clis/calicoctl/configure/etcd /etc /calico/calicoctl.cfg apiVersion: projectcalico.org/v3 kind: CalicoAPIConfig metadata: spec: etcdEndpoints 172.16.59.33:2380,http://172.16.59.34:2380,http://172.16.59.35:2380 启动节点calico 节点 [root@172-16-59-32 calicoctl /calicoctl-linux-amd64 node run --ip=172.16.59.32 Running command to load modules: modprobe -a xt_set
是的,我们需要借助一个工具叫calicoctl,如下是二进制安装方法 # 下载calicoctl二进制文件 curl -o calicoctl -O -L "https://github.com/projectcalico /calico/releases/download/v3.24.1/calicoctl-linux-amd64" # 赋予可执行权限 chmod +x calicoctl # 将calicoctl 复制到/usr/bin目录下 mv calicoctl /usr/bin/ 安装完成后,我们可以根据如下指令查看ipPool状态 calicoctl get ipPool -o wide 从结果我们得知 patch ippool default-ipv4-ippool -p '{"spec": {"disabled": false}}' 在执行指令后通过calicoctl get ippool -o 不,运维人员要有备份的习惯,我们通过calicoctl get ippool -o yaml将配置进行备份,然后通过下面的指令删除现有的ip地址池 calicoctl delete ippool default-ipv4
安装calicoctl calicoctl允许您从命令行创建、读取、更新和删除Calico对象。 /releases/download/v3.8.2/calicoctl; root@001:~# chmod +x calicoctl; 备注:其他安装方式,请大家下去自行研究。 配置calicoctl 配置calicoctl连接到kubernetes API,这里使用最简单的命令行形式,如下: root@001:~# DATASTORE_TYPE=kubernetes KUBECONFIG =~/.kube/config calicoctl [命令] 备注:其他连接配置,请参考链接:https://docs.projectcalico.org/v3.8/getting-started/calicoctl 设置命令别名 root@001:~# alias k8s-calicoctl='DATASTORE_TYPE=kubernetes KUBECONFIG=~/.kube/config calicoctl
Calico 管理工具 calicoctl 工具安装 # 下载工具:https://github.com/projectcalico/calicoctl/releases $ wget -O /usr /local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download/v3.13.3/calicoctl $ chmod +x /usr/local/bin/calicoctl # 查看集群节点状态 $ calicoctl node status 如果使用 calicoctl get node,需要指定 calicoctl 配置,默认使用 /etc/calico/calicoctl.cfg # 设置 calicoctl 配置文件 $ vim /etc/calico/calicoctl.cfg apiVersion get nodes # 查看 IPAM的IP地址池 $ calicoctl get ippool -o wide # 查看bgp网络配置情况 $ calicoctl get bgpconfig
安装使用 描述: Calicoctl是一个命令行接口(CLI)工具,用于管理和排除Kubernetes集群中的Calico网络问题。 /calico/releases/download/v3.26.1/calicoctl-linux-amd64 -o calicoctl chmod +x calicoctl && cp calicoctl /usr/local/bin # 创建 calico 配置文件 /etc/calico/calicoctl.cfg (其中指定了datastoreType与etcdEndpoints等重要参数) calicoctl node status Calico process is running. get bgppeer # 查看IP池相关信息 calicoctl get ipPool -o yaml [-o wide] # 收集节点诊断 calicoctl node diags # 将节点配置为群集
neutron port-update port-id-zzzzz –port-security_enabled=False Issue:修改pod-cidr-range(CNI:calico) 安装calicoctl as a Kubernetes pod # kubectl apply -f https://docs.projectcalico.org/manifests/calicoctl.yaml # alias calicoctl="kubectl exec -i -n kube-system calicoctl -- /calicoctl " 新增一个IP pool calicoctl create -f get ippool -o wide 可以看到多了一行 Disable 旧的 IP pool calicoctl get ippool -o yaml > pool.yaml vim pool.yaml 删除旧的IP pool calicoctl delete pool default-ipv4-ippool 问题:Failed to mount API filesystems, freezing.
-1 ~]# chmod +x calicoctl [root@node-1 ~]# mv calicoctl /usr/local/bin/ [root@node-1 ~]# calicoctl - [root@node-2 ~]# calicoctl node status Calico process is running. [root@node-3 ~]# calicoctl node status Calico process is running. 使用calicoctl创建ipPool 在启动别的容器之前,我们需要配置一个IP地址池带有ipip和nat-outgoing选项。 可以使用命令"calicoctl delete ippool 192.168.0.0/16"删除calico默认的网络,这是非必要操作,可以保留calico默认的网络!
配置 Calico 以启用指标 默认情况下 Felix 的指标是被禁用的,必须通过命令行管理工具 calicoctl 手动更改 Felix 配置才能开启,需要提前配置好命令行管理工具。 先下载管理工具: $ wget https://github.com/projectcalico/calicoctl/releases/download/v3.15.0/calicoctl -O /usr /local/bin/calicoctl $ chmod +x /usr/local/bin/calicoctl 接下来需要设置 calicoctl 配置文件(默认是 /etc/calico/calicoctl.cfg 配置好了 calicoctl 之后就可以查看或修改 Calico 的配置了,先来看一下默认的 Felix 配置: $ calicoctl get felixConfiguration default - ipipEnabled: true logSeverityScreen: Info reportingInterval: 0s 可以看到默认的配置中没有启用指标,需要手动修改配置,命令如下: $ calicoctl
/releases # wget -O /usr/local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download /v3.11.1/calicoctl # chmod +x /usr/local/bin/calicoctl 使用calicoctl查看服务状态 # . /calicoctl node status Calico process is running. 实际上,使用calicoctl查看node状态就是调用系统查看的,与netstat效果一样 # netstat -antp|grep bird tcp 0 0 0.0.0.0 apply -f bgp.yaml # 一旦执行,集群会立即断网 Successfully applied 1 'BGPConfiguration' resource(s) # calicoctl
三、使用Calico安装和配置Calico后,可以使用以下命令检查Calico的状态:$ calicoctl node status此命令将列出Kubernetes集群中所有节点的状态。 另外,可以使用以下命令查看Calico网络的详细信息:$ calicoctl get nodes此命令将列出Kubernetes集群中所有节点的详细信息,包括它们的名称、IP地址和状态等。 此外,可以使用以下命令查看Calico网络中的所有端点:$ calicoctl get endpoints此命令将列出Calico网络中的所有端点,包括它们的名称、IP地址和状态等。
安装calicoctl calicoctl是calico的管理工具: wget https://github.com/projectcalico/calicoctl/releases/download/ v1.1.0/calicoctl chmod +x calicoctl By default calicoctl looks for a configuration file at /etc/calico get [资源类型] 例如: calicoctl get node IP地址管理 calicoctl ipam <command> [<args>...] /releases/download/v1.1.0/calicoctl chmod +x calicoctl . $calicoctl config get nodeTonodeMesh on $calicoctl config get logLevel info $calicoctl config get
要设置一个没有缺省地址池的的 Calico,首先运行 calicoctl get ippool -o wide,会看到已经创建了一个 192.168.0.0/16 的地址池: NAME 192.168.0.0/16 true Always false all() 删除缺省地址池 default-ipv4-ippool 地址池已经存在,并占据了整个 /16 块,因此必须删除:calicoctl -1 rack=0 kubectl label nodes kube-node-2 rack=1 kubectl label nodes kube-node-3 rack=1 为每个机架创建地址池 calicoctl spec: cidr: 192.168.0.0/24 ipipMode: Always natOutgoing: true nodeSelector: rack == "0" EOF calicoctl 192.168.1.0/24 ipipMode: Always natOutgoing: true nodeSelector: rack == "1" EOF 现在就创建了两个地址池,使用 calicoctl
来获取 Calico 的更多信息并能修改 Calico 配置: $ cd /usr/local/bin/ $ curl -O -L https://github.com/projectcalico/calicoctl /releases/download/v3.16.3/calicoctl % Total % Received % Xferd Average Speed Time Time $ calicoctl node status Calico process is running. 禁用 IP-IP 更新 ippool.yaml 设置 IPIP 为 Never,然后用 calicoctl 应用配置: $ calicoctl get ippool default-ipv4-ippool -o yaml > ippool.yaml $ vi ippool.yaml ... $ calicoctl apply -f ippool.yaml Successfully applied 1 '
设置pool calicoctl apply -f - << EOF apiVersion: v1 kind: ipPool metadata: cidr: 10.200.0.0/16 spec: ipip cat << EOF | calicoctl delete -f - apiVersion: v1 kind: bgpPeer metadata: peerIP: {HOST-IP} scope: global calicoctl config set nodeToNodeMesh off 重新启动你所有的calico-node。 附一份calicoctl的配置文件(在/etc/calico下) calicoctl.cfg apiVersion: v1 kind: calicoApiConfig metadata: spec: etcdEndpoints
calicoctl:允许您从简单的命令行界面实现高级策略和网络。 /releases # wget -O /usr/local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download /v3.9.1/calicoctl # chmod +x /usr/local/bin/calicoctl # mkdir /etc/calico # vim /etc/calico/calicoctl.cfg 查看服务状态: # calicoctl get node NAME k8s-master k8s-node01 k8s-node02 # calicoctl node 修改为IPIP模式: # calicoctl get ipPool -o yaml > ipip.yaml # vim ipip.yaml apiVersion: projectcalico.org/v3
calicoctl:允许您从简单的命令行界面实现高级策略和网络。 /releases $ wget -O /usr/local/bin/calicoctl https://github.com/projectcalico/calicoctl/releases/download /v3.9.1/calicoctl $ chmod +x /usr/local/bin/calicoctl $ mkdir /etc/calico $ vim /etc/calico/calicoctl.cfg 查看服务状态: $ calicoctl node status $ ss -antp | grep 179 #监听179端口 $ calicoctl get nodes 查看IPAM的ip地址池 apply -f ipip.yaml $ calicoctl get ippool -o wide ?
image.png 2、在另外两台安装calicoctl ? image.png 3、在其中一台创建calico网络 ? image.png 4、运行容器 ? image.png ? image.png 5、查看calico的poicy calicoctl get profile cal_net1 -o yaml 6、calico policy:ACL ---- 7、自定义subnet
/v3.16.3/calicoctl master $ chmod +x calicoctl master $ export DATASTORE_TYPE=kubernetes master $ export master $ calicoctl node status Calico process is running. master $ calicoctl get ippool default-ipv4-ippool -o yaml > ippool.yaml master $ vi ippool.yaml 编辑 ippool.yaml 文件,将 ipipMode 参数设置为 Never,然后使用 calicoctl 命令重新应用配置文件。 master $ calicoctl apply -f ippool.yaml Successfully applied 1 'IPPool' resource(s) 重新检查路由。
1 Calico默认的网络模式是IPIP2 切换到BGP网络模式2.1 确保安装了calicoctl工具2.2 配置一个global BGP peerglobal BGP peer是确保和集群其他calico : peer-with-route-reflectorsspec: nodeSelector: all() peerSelector: route-reflector == 'true'完成后使用calicoctl
docker-containerd-shim-latest 图片6.png [root@vms91 ~]# mkdir /etc/calico [root@vms91 ~]# vi /etc/calico/calicoctl.cfg etcdEndpoints: "http://192.168.135.91:2379" 开始建立pod信息 图片7.png 图片8.png 图片9.png [root@vms91 ~]# calicoctl node run --node-image=quay.io/calico/node:v2.6.12 -c /etc/calico/calicoctl.cfg Running command to load