kubeadm kubeadm 是 Kubernetes 主推的部署工具之一,正在快速迭代开发中。 初始化系统 所有机器都需要初始化容器执行引擎(如 docker 或 frakti 等)和 kubelet。这是因为 kubeadm 依赖 kubelet 来启动 Master 组件,比如 kube-apiserver、kube-manager-controller、kube-scheduler、kube-proxy 等。
kubeadm 是 Kubernetes 主推的部署工具之一,正在快速迭代开发中。
所有机器都需要初始化容器执行引擎(如 docker 或 frakti 等)和 kubelet。这是因为 kubeadm 依赖 kubelet 来启动 Master 组件,比如 kube-apiserver、kube-manager-controller、kube-scheduler、kube-proxy 等。
在初始化 master 时,只需要执行 kubeadm init 命令即可,比如
kubeadm init --pod-network-cidr 10.244.0.0/16 --kubernetes-version stable
这个命令会自动
/etc/kubernetes/manifests 目录中kubeadm 在初始化时并不关心网络插件,默认情况下,kubelet 配置使用 CNI 插件,这样就需要用户来额外初始化网络插件。
mkdir -p /etc/cni/net.d cat >/etc/cni/net.d/10-mynet.conf <<-EOF { "cniVersion": "0.3.0", "name": "mynet", "type": "bridge", "bridge": "cni0", "isGateway": true, "ipMasq": true, "ipam": { "type": "host-local", "subnet": "10.244.1.0/24", "routes": [ {"dst": "0.0.0.0/0"} ] } } EOF cat >/etc/cni/net.d/99-loopback.conf <<-EOF { "cniVersion": "0.3.0", "type": "loopback" } EOF
kubectl create -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel-rbac.yml kubectl create -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d'\n')"
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
token=$(kubeadm token list | grep authentication,signing | awk '{print $1}') kubeadm join --token $token ${master_ip}
这包括以下几个步骤
kubeadm reset