kubeadm,官方快速搭建K8S的工具。
- 节点安装docker和kubeadm
- 部署k8s Master
- 容器网络插件
- 部署K8S Node,将节点加入K8S集群中
- 部署Dashboard Web可视化页面
步骤
- 开启三个虚拟机(CPU 2个 内存4G)。配置全局网卡。每个虚拟机有两个网络,一个是新建的全局网卡,一个是主机网络。



批量 - 关闭防火墙 和 linux安全策略
# 关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 关闭linux安全策略sed -i 's/enforcing/disabled/' /etc/selinux/configsetenforce 0# 关闭内存交换swapoff -a #临时sed -ri 's/.*swap.*/#&/' /etc/fstab #永久
修改主机名(三台机器名改为,k8s-node1,k8s-node3,k8s-node3)
hostnamectl set-hostname 名字
- 服务器的hosts文件加入ip绑定域名(注意ip为默认网卡的ip,即全局网卡的ip enp3s0 )
10.0.2.15 k8s-node1
10.0.2.4 k8s-node2
10.0.2.5 k8s-node3
监控流量,不知道啥用
cat > /etc/sysctl.d/k8s.conf << EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1EOF
安装docker ```bash
清除旧文件
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
安装基础环境
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
配置docker的仓库
sudo yum-config-manager \ —add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安装docker
sudo yum install -y docker-ce docker-ce-di containerd.io
配置镜像加速
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://xffjio8i.mirror.aliyuncs.com“] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
设置docker开机启动
systemctl enable docker
配置镜像下载地址
cat <
- 安装k8s
yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3
#开机启动
systemctl enable kubelet && systemctl start kubelet
初始Master节点
作为master的机器,先上传并执行master_images.sh文件。(注意先chmod 700 master_images.sh后运行 ./master_images.sh)
master_images.sh
再执行(注意:10.0.2.15为主机的内部网卡ip)
kubeadm init —apiserver-advertise-address=10.0.2.15 —image-repository registry.cn-hangzhou.aliyuncs.com/google_containers —kubernetes-version v1.17.3 —service-cidr=10.96.0.0/16 —pod-network-cidr=10.244.0.0/16
执行完成会有打印slave加入master的命令。先复制保存。(过期则百度kubeadm token过期)
如:kubeadm join 10.0.2.15:6443 —token qets1u.7oz8rujdqb1xh1ot \
—discovery-token-ca-cert-hash sha256:71f6085251543bbb933143892a7179e89d098253fbc33e159649baf8742617c5安装网卡
上传并执行kubectl apply -f kube-flannel.yml (卸载则可以执行kubectl delete -f kube-flannel.yml)
kube-flannel.yml
注意:
上述命令报错:The connection to the server localhost:8080 was refused - did you specify the right host or port?
解决:
echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> /etc/profile
source /etc/profile
测试网卡是否装完:
kubectl get pods —all-namespaces 【kube-flannel-ds-amd64-h8jnk的READY是1/1】
- slave执行第8步Maser安装后得到的加入命令。
master机执行kubectl get nodes得到加入的从机。
kubectl get pod -n kube-system -o wide 等待看到从机都是Running状态即可
- xx
