安装过程依据大神文档改变,源地址
https://www.cnblogs.com/double-dong/p/11483670.html
现在网上学习资料一般都是1.15.0版本,所有我发布一个1.23.5新版本的部署过程。建议新手玩家从最新的版本入手。
系统是centos7.9,2核2G 的虚拟机集群。
有什么错误请使用/var/log/messages查看。
文章的错误点都是亲身经历,太难受了兄弟们。请务必注意
祝大家变得更强。
准备工作
master1 192.168.0.27
master2 192.168.0.225
node1 192.168.0.153
node2 192.168.0.52
kubelet-1.23.5 kubeadm-1.23.5 kubectl-1.23.5
dashboard:v1.23.5
- 配置linux环境
cat /etc/hosts
192.168.0.27 master1
192.168.0.138 node1
192.168.0.52 node2
hostnamectl set-hostname {节点名称}
yum install wget vim net-tools bash-completion
退出重进bash-completion生效
cat /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
systemctl --system
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config && setenforce 0
systemctl stop firewalld && systemctl disable firewalld
systemctl stop firewalld && systemctl disable firewalld
vim /etc/fstab
注释
swapoff -a
安装docker:
yum remove docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates|sort -r
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl start docker && systemctl enable docker
安装kubenets:
cat /etc/yum.repos.d/kubernetes.repo
[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
yum install -y kubelet-1.23.5 kubeadm-1.23.5 kubectl-1.23.5
systemctl enable kubelet
以上所有节点都需要配置安装。
配置master节点
- docker配置
cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
systemctl daemon-reload
systemctl restart docker.service
- kudeadm初始化
kubeadm init --apiserver-advertise-address=192.168.0.27 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.5 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
错误点:如果安装错误或者是超时,手动检查kubelet.service服务是否能正常启动。错误一是systemd模式,错误2是docker版本问题。
检查docker images
根据初始化完成提示
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=/etc/kubernetes/admin.conf
节点加入语句保存好kubeadm join 192.168.0.27:6443 --token ****
- 创建新token
kubeadm token create
kubeadm token list
- 安装网络插件flannel
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml
ps -ef|grep flannel
kubectl get nodes
节点node2加入master1
kubeadm join 192.168.0.27:6443 --token 5dgo16.uref69ke64hgih0h --discovery-token-ca-cert-hash sha256:466899f62e3f74af29e5e86bdad0d345c4ca8272eef841482b4abe0ec1796dd2
转到master1
错误点:如果出现noready情况,就再加入一次。
错误点:如果安装错误或者是超时,手动检查kubelet.service服务是否能正常启动。错误一是systemd模式,错误2是docker版本问题。
测试集群
在kubectl也就是master1上
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pods,svc
访问http://IP:PORT
安装kubernetes-dashboard
下载yaml
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
错误点:选择支持你kubelet的版本,不然会出现404和黄色报错,无法解决。
git地址https://github.com/kubernetes/dashboard/releases/tag/v2.5.1
- 修改recommended.yaml
改为NodePort
启动
kubectl apply -f recommended.yaml
创建登录token
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin
查看token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
保存好此token
保存操作记录,删除此账户改create为delete,再去除末尾即可。
面板查看
https访问:
https://192.168.0.27:32655/
错误点:google浏览器查看会提示不安全,点击空白处,键盘输入 thisisunsafe。即可跳转
将保存的token输入,即可登录。
dashboard界面
到此大功告成。
总结一下,新版本最大的不同就是dashborad的安装,其他都是大同小异的。
第一次装,这还只是开始,以后扩增master会再出一部分。
手动安装的方式还是没有这种方便,好管理。
还有一个注意点,我的电脑可以科学上网。所以可以下载任何资源,建议你也加上。