个人博客

kubernetes 部署--自动安装Calico ⑧

18 04月
作者:西洪室|分类:技术

标准托管安装

以下步骤使用您自己的etcd群集将Calico安装为Kubernetes附加组件。

安装Calico

安装Calico:

1. 下载calico.yaml

curl https://docs.projectcalico.org/v3.6/getting-started/kubernetes/installation/hosted/calico.yaml -O

2. etcd_endpoints在提供的ConfigMap中配置以匹配您的etcd集群。

metadata:
  name: calico-config
  namespace: kube-system
data:
  # Configure this with the location of your etcd cluster.
  etcd_endpoints: "http://192.168.22.101:2379,http://192.168.22.102:2379,http://192.168.22.103:2379"
.......
            # Enable IPIP
            - name: CALICO_IPV4POOL_IPIP
              value: "Off"
            # Set MTU for tunnel device used if ipip is enabled
            - name: FELIX_IPINIPMTU
              valueFrom:
                configMapKeyRef:
                  name: calico-config
                  key: veth_mtu
            # The default IPv4 pool to create on startup if none exists. Pod IPs will be
            # chosen from this range. Changing this value after installation will have
            # no effect. This should fall within `--cluster-cidr`.
            - name: CALICO_IPV4POOL_CIDR
              value: "10.1.0.0/16"

环境变量:CALICO_IPV4POOL_IPIP来实现ipip功能的开关:默认是Always,表示开启;Off表示关闭ipip; CrossSubnet表示开启并支持跨子网

然后只需应用清单:

kubectl apply -f calico.yaml

注意:在运行上述命令之前,请确保将提供的ConfigMap配置为etcd集群的位置。



配置calicoctl

curl -O -L  https://github.com/projectcalico/calicoctl/releases/download/v3.6.1/calicoctl
chmod +x calicoctl
mv calicoctl /usr/local/bin

同步到其他master节点

scp /usr/local/bin/calicoctl root@master2:/usr/local/bin/
ssh root@master2 "chmod +x /usr/local/bin/calicoctl"
scp /usr/local/bin/calicoctl root@master3:/usr/local/bin/
ssh root@master3 "chmod +x /usr/local/bin/calicoctl"

1. 配置文件:默认情况下,calicoctl将在中查找配置文件/etc/calico/calicoctl.cfg。您可以使用--config带有需要数据存储访问权限的命令的选项来覆盖它。该文件可以是YAML或JSON格式。它必须有效且可读calicoctl。以下是YAML示例。

mkdir /etc/calico
cat > /etc/calico/calicoctl.cfg <<EOL
apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
  datastoreType: "etcdv3"
  etcdEndpoints: "http://192.168.22.101:2379,http://192.168.22.102:2379,http://192.168.22.103:2379"
EOL

2. 环境变量:如果calicoctl无法定位,读取或访问配置文件,它将检查一组特定的环境变量。

查看状态

calicoctl node status

显示Calico创建了其默认IP池

calicoctl get ippool -o wide


浏览3253 评论0
返回
目录
返回
首页
kubernetes 部署--kubeadm部署kubernetes集群 ⑦ 安装zabbix3的Mysql监控模板

发表评论