作者:手机用户2502881375 | 来源:互联网 | 2023-09-09 16:56
K8s安装可以采用:
- Minikube:Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。官方地址:https://kubernetes.io/docs/setup/minikube/
- Kubeadm:一个工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
- 二进制包: 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。
这里采用kubeadm,方便点
版本:
docker:19.03.13
kubeadm:1.19.2-0
kubelet:1.19.2-0
主节点,从节点,重置命令
kubeadm reset
根据提示 删除 /etc/cni/net.d
我用的flannel网络插件,删除网络
sudo ifconfig cni0 down
sudo ip link delete cni0sudo ifconfig flannel.1 down
sudo ip link delete flannel.1
镜像不要删
master重新init
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.197 --kubernetes-version=v1.19.2
保存加入命令
kubeadm join 192.168.1.197:6443 --token l95n27.ebimpogkckiu1lm3 \--discovery-token-ca-cert-hash sha256:20b3bdd7745a06ecba0a3b1476be5a821f764a7f4b1cfd272459458e9c23df5b
按照提示执行
创建flannel
kubectl apply -f kube-flannel.yml
下载flannel
wget --no-check-certificate https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
如果连接失败,将raw.githubusercontent.com的ip地址写入host文件
查看组件状态
kubectl get pod --all-namespaces -o wide
如果coredns显示pending,有污点,可以再等等它启动
需要flannel组件成功后,coredns才能成功
全部是running成功
从节点加入集群
kubeadm join 192.168.1.197:6443 --token l95n27.ebimpogkckiu1lm3 \--discovery-token-ca-cert-hash sha256:20b3bdd7745a06ecba0a3b1476be5a821f764a7f4b1cfd272459458e9c23df5b
安装dashborad
下载
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml
修改上面文件的
一定要自己创建用户,vim kubernetes-dashboard-admin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:name: dashboard-admin2namespace: kubernetes-dashboard
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:name: dashboard-admin2
subjects:- kind: ServiceAccountname: dashboard-admin2namespace: kubernetes-dashboard
roleRef:kind: ClusterRolename: cluster-adminapiGroup: rbac.authorization.k8s.io
kubectl create -f kubernetes-dashboard-admin.yaml
获取刚刚创建的管理员token ,其他的不对的
kubectl get secret -o wide -n kubernetes-dashboard
根据管理员token 获取 base64字符串:
kubectl describe secret -n kubernetes-dashboard
访问https://192.168.1.198:32000/,使用token登录,如果登录后没有显示数据,说明刚刚创建的用户有问题,没有权限,按照管理员重新创建。