Skip to content

Latest commit

 

History

History
119 lines (75 loc) · 4.2 KB

01快速开始.md

File metadata and controls

119 lines (75 loc) · 4.2 KB

在Kubernetes上快速安装Calico

主旨

本文旨在带你快速在一个单节点Kuberenetes集群上安装Calico,大约需要15分钟。

价值

通过快速安装,迅速且轻而易举地了解到Calico的特性。如果要部署一个生产环境的集群,请见在Kuberenetes上安装Calico

开始之前

  • 确保已有一个满足下列要求的Linux主机:
    • x86-64、arm64、ppc64le、或s390x处理器
    • 2CPU
    • 2GB RAM
    • 10GB可用磁盘空间
    • RHEL 7.x+、CentOS 7.x+、Ubuntu 16.04+、或Debian 9.x+
  • 确保Calico可以操作主机上的calitunl接口。如果主机上有NetworkManager,参见配置NetworkManager

概念

基于Operator的安装

这里我们使用Tigera operator进行快速安装。Operator为Calico提供整个生命周期的管理,通过Kubernetes API暴露出来,定义成了一个自定义资源(CRD)。

注意:不用Operator,直接用Kubernetes的manifest也可以安装Calico。对于不使用Tigera operator的平台和说明文档,可能会有一些步骤和Kubernetes资源跟这里讲的不一样。

怎么弄

Calico部署选项

创建一个单节点Kubernetes集群

  1. 参照Kubernetes说明安装kubeadm

注意:安装完kubeadm之后,不要关闭或重启主机。直接按照下面的步骤继续。

  1. 用一个带sudo权限的普通用户,打开一个安装了kubeadm的主机终端。
  2. 用下面的命令安装master。
sudo kubeadm init --pod-network-cidr=192.168.0.0/16

注意:如果你的网络中已经用了192.168.0.0/16了,那就要换一个Pod网络CIDR,在上面的命令中替换192.168.0.0/16即可。

  1. 执行下面的命令,配置kubectl(执行kubeadm init之后也会打印出这些命令)。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装Calico

  1. 安装Tigera Calico operator,以及CRD。
kubectl create -f https://projectcalico.docs.tigera.io/manifests/tigera-operator.yaml
  1. 创建需要的自定义资源并安装Calico。关于这里面的配置选项,详见安装指引
kubectl create -f https://projectcalico.docs.tigera.io/manifests/custom-resources.yaml

注意:创建这个manifest之前,看一下里面的东西,确保配置符合你的环境要求。比如可能需要改一下默认的IP池CIDR,匹配你的Pod网络的CIDR。

  1. 确认所有的Pod都处于运行状态。
watch kubectl get pods -n calico-system

等所有Pod的STATUS都变成Running

注意:Tigera operator将资源安装在calico-system命名空间中。其他的安装方式可能会装到kube-system中。

  1. 删除master上的冷屁股,这样就可以在上面调度Pod。
kubectl taint nodes --all node-role.kubernetes.io/master-

执行结果如下。

node/<your-hostname> untainted
  1. 确认集群中现在已经有了一个节点。
kubectl get nodes -o wide

返回结果类似下面这样。

NAME              STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION    CONTAINER-RUNTIME
<your-hostname>   Ready    master   52m   v1.12.2   10.128.0.28   <none>        Ubuntu 18.04.1 LTS   4.15.0-1023-gcp   docker://18.6.1

恭喜你!现在已经有了一个带Calico的单节点Kubernetes集群。

接下来

必读

推荐学习