Kubeadm 是Kubernetes自帶的部署叢集的具, Kubeadm可以快速的建立和銷毀Kubernetes叢集, 對于了解和研究Kuberntes非常有幫助。 但是不建議直接在真實産品環境使用。 應為
- 目前隻支援單一master 節點
- 使用 Self-signed 證書
以下是相應步驟
打開Shell 并且 使用root 帳号
sudo su
安裝Docker
apt-get update
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
"deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) \
stable"
apt-get update && apt-get install -y docker-ce=$(apt-cache madison docker-ce | grep 17.12 | head -1 | awk '{print $3}')
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
安裝 Kubeadm, Kubectl 和 kubelet
apt-get update && apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
建立Kubernetes叢集 (使用calico 作為CNI 插件)
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
配置 Kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
部署 calico 插件
kubectl apply -f \
https://docs.projectcalico.org/v3.0/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml
修改 master 節點屬性使得Pod可以部署到Master 節點上。
kubectl taint nodes --all node-role.kubernetes.io/master-
檢視目前叢集資訊