目录
- 一、K8s 具体安装步骤
-
- 1. 安装 Docker
- 2. 添加 K8s 的阿里云 YUM 源
- 3. 安装 kubeadm,kubelet 和 kubectl
- 4. 部署 Kubernetes Master 主节点
- 二、部署网络插件
一、K8s 具体安装步骤
安装所有服务器节点 Docker/kubeadm/kubelet/kubectl
。
Kubernetes 默认容器运行环境为Docker,所以首先要安装Docker。
1. 安装 Docker
更新 docker 的 yum 源
yum install wget -y wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
指定版本的安装docker
yum install docker-ce-19.03.13 -y yum install docker -y (这个安装的Docker版本偏旧) 1.13.x
加速配置加速器下载 (https://cr.console.aliyun.com/)
/etc/docker/daemon.json {
"registry-mirrors": ["https://registry.docker-cn.com"] } https://gg3gwnry.mirror.aliyuncs.com
然后执行:
systemctl enable docker.service
否则会提示警告。
然后需要建造:kubeadm、kubelet、kubectl
2. 添加 K8s 的阿里云 YUM 源
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
到时候下载 K8s 只有相关组件才能找到下载源。
3. 安装 kubeadm,kubelet 和 kubectl
yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y
然后执行
systemctl enable kubelet.service
不然会提示警告。
检查是否安装:
yum list installed | grep kubelet yum list installed | grep kubeadm yum list installed | grep kubectl
检查安装版本 :kubelet --version
Kubelet :运行在 cluster 负责启动所有节点POD和容器
Kubeadm :用于初始化 cluster 的一个工具
Kubectl :Kubectl 是 kubenetes 命令行工具,通过 kubectl 对各种资源进行部署和管理,创建,
删除和更新组件。
此时应重启 centos。
4. 部署 Kubernetes Master 主节点
kubeadm init --apiserver-advertise-address=192.168.172.134 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
此命令在master机器上执行
执行报错:
解决 :重启一下 centos ,然后执行上述 kubeadm init
命令。
说明:
service-cidr 选择不能和谐PodCIDR而且本机网络有重叠或冲突,一般可以选择本机网络和PodCIDR未使用的私网地址段,如PODCIDR使用10.244.0.0/16, 那么service cidr可以选择10.96.0.0/12,网络无重叠冲突。
接下来在master在机器上执行:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes
接下来把 node 节点加入 Kubernetes master 中,在 Node 机器上执行。
向集群添加新节点,执行的命令就是 kubeadm init 最后输出的 kubeadm join 命令:
kubeadm join 192.168.172.132:6443 --token wa5bif.zfuvbesevdfvf4of \--discovery-token-ca-cert-hash sha256:87cf5828d54dd80da13c4b57c57360370ea0267a7cc3991989ca3006cf3e44d8
二、部署网络插件
下载 kube-flannel.yml 文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
应用 kube-flannel.yml 文件得到运行时容器
kubectl apply -f kube-flannel.yml
(在master机器上执行)\
然后查看节点状态:kubectl get nodes
(在master机器上执行)
说明还没有就绪,需要等一会儿,然后节点就就绪了
至此我们的k8s环境就搭建好了。
查看运行时容器pod (一个pod里面运行了多个docker容器)
kubectl get pods -n kube-system