1.准备三台服务器,主机名:master-01,node-01,node-02
1)关闭防火墙
systemctl disable --now firewalld
2)关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
3)关闭swap
vi /etc/fstab 进入文件,注释swap
4)设置主机名
hostnamectl set-hostname <hostname>自定义主机名
hostname 命令 查看主机名
5)同步主机时间
yum -y install chrony
6)将ipv4流量转到iptables
将桥接的IPv4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system 生效
6)master节点添加域名
cat >> /etc/hosts << EOF
192.168.149.142 master master.kuber.com
192.168.149.143 node1 node1.kuber.com
192.168.149.144 node2 node2.kuber.com
EOF
2.服务器安装docker、kubernetes
1)所有服务器安装好docker
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://dwejm42d.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
2)所有服务器安装好kubernetes阿里云镜像
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
3)所有服务器安装kubeadm kubectl kubelet
指定版本号
yum install -y kubelet-1.20.0 kubeadm-1.20.0 kubectl-1.20.0
安装完成后设置成开机自动启动
systemctl enable kubelet
4)部署kuberetes master ,在master节点运行
kubeadm init --apiserver-advertise-address=192.168.149.142 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
等待执行成功
设置kubelet环境变量 root 用户(可按照提示进行操作)
echo 'export KUBECONFIG=/etc/kubernetes/admin.conf' > /etc/profile.d/k8s.sh
source /etc/profile.d/k8s.sh
docker images & docker ps 查看镜像 与容器
kubectl get nodes 查看运行的节点
5)配置pod 虚拟网络
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
6)加入节点
忘记上图的节点加入集群命令,可使用
kubeadm token create --print-join-command 重新获取
3.安装仪表盘 dashboard
1)执行命令
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
下载不下来,先wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
修改类型为clusterip nodeport
再进行 kubectl apply -f recommended.yaml
2)验证
kubectl get svc,pods -n kubernetes-dashboard
3)获取token
kubectl describe -n kube-system $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token
卸载kubenetes
yum erase -y kubelet kubectl kubeadm kubernetes-cni
kubeadm reset -f
modprobe -r ipip
lsmod
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd
yum clean all
yum remove kube*