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网络拓扑结构中的节点基本安装已经完成了

浙公网安备 33010602011771号