天天看點

使用Kubeadm部署 Kubernetes 叢集

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-           

檢視目前叢集資訊

繼續閱讀