Kubernetes安装

Kubernetes的安装流程可以根据官网

  • https://kubernetes.io/zh/docs/tasks/tools/install-kubectl

简单本地单机快速安装也可以使用Kind来实现

  • https://kind.sigs.k8s.io

本章学习流程根据Linux学院,使用3台虚拟服务器来安装Kubernetes。其拓扑结构为一台Master主机与2~3台Worker来运行应用。

 安装Kubernetes的步骤如下

  • 服务器Server系统配置
    • Ubuntu 16.04 Xenial LTS
    • 用户名以及密码更改 
  • 安装docker容器与Kubernetes repositories
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
  • 安装docker与Kubernetes安装包
sudo apt-get update

# version needs to check the kubernetes.io
sudo apt-get install -y containerd.io=1.2.13-2 docker-ce=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) docker-ce-cli=5:19.03.11~3-0~ubuntu-$(lsb_release -cs) kubelet=1.20.4-00 kubeadm=1.20.4-00 kubectl=1.20.4-00

# prevent automatically upgrade version of kubernetes sudo apt-mark hold docker-ce kubelet kubeadm kubectl
  • docker可能需要做额外配置(可选)
## Create /etc/docker
sudo mkdir /etc/docker

# Set up the Docker daemon
cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

# Create /etc/systemd/system/docker.service.d
sudo mkdir -p /etc/systemd/system/docker.service.d

# Restart Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

sudo systemctl enable docker
sudo usermod cloud_user -G docker -a
  • 激活iptable bridge call
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf

sudo modprobe br_netfilter

sudo sysctl -p
  • 安装Kubernetes到master,worker节点
    • Master节点
# Change from 0 to 1 
sudo vim /proc/sys/net/ipv4/ip_forward

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# for Kubernetes v1.16 kubectl apply
-f https://raw.githubusercontent.com/coreos/flannel/3f7d3e6c24f641e7ff557ebcea1136fdf4b1b6a1/Documentation/kube-flannel.yml

之后运行如下命令检查master节点已经创建成功

# Check if master node is created
kubectl get node -o wide

Master节点创建成功后,会在末尾有一行命令,让Worker节点可以加入Master节点创建的Kubernetes网络,在Worker节点上运行该命令。

    • Worker节点
sudo kubeadm join 172.31.103.191:6443 --token y97mbj.s7vd4ijigw8io7w0 --discovery-token-ca-cert-hash sha256:78d925c6146d033501d6bc205fca26827a24d7ca2c815dc50adba364a6fc9888
  • 在Master节点上运行命令检查 
kubectl get nodes

最后在Master节点上应该输出如下,则表示所有节点加入Master的Kubernetes网络成功

到此,Kubernetes网络拓扑结构中的节点基本安装已经完成了

posted @ 2021-03-02 04:53  K骑士  阅读(352)  评论(0)    收藏  举报