准备三台 虚拟机 centos7
master 192.168.126.101
node1 192.168.126.102
node2 192.168.126.103
1、环境准备(3套环境基础配置一样)
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
vi /etc/selinux/config
selinux=disabled
关闭swap(就是虚拟内存)
vi /etc/fstab
注释掉swap行
配置主机名称
hostnamectl set-hostname master
hostname 查看
配置host文件
127.0.0.1 localhost
192.168.126.101 master
192.168.126.102 node1
192.168.126.103 node2
替换阿里云的yum源
cd /etc/yum.repos.d/
rm –rf *
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
安装 ntpdate时钟同步、wget
npm install –y wget ntpdate
配置ip导向
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward=1
sysctl --system 配置生效
安装docker并配置阿里云加速
yum install –y docker
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://pxxxxxxk.mirror.aliyuncs.com"]
}
systemctl restart docker
systemctl enable docker
配置阿里云的kuber源
vi /etc/yum.repo.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
安装kuber
yum install -y kubelet-1.19.0 kubeadm-1.19.0 kubectl-1.19.0
systemctl enable kubelet
2、master节点初始化
$ kubeadm init \
--apiserver-advertise-address=192.168.126.101 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.19.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ignore-preflight-errors=all
3、子节点加入集群
kubeadm join 192.168.126.101:6443 --token akblo9.7asatc4xuufw8u2z \
--discovery-token-ca-cert-hash sha256:4bcf753b560528c15f0b281e81bda2650d0ce09255e3b90b09362d91bb01e38f
4、master节点网络配置
wget https://docs.projectcalico.org/manifests/calico.yaml
kubectl apply -f calico.yaml
kubectl get pods -n kube-system
5、master节点拷贝kube文件
mkdir -p /root/.kube
cp /etc/kubernetes/admin.conf /root/.kube/config
kubectl get nodes
kubectl get cs
6、master节点安装dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
修改标记为黄色的文字 NodePort
安装 kubectl apply -f recommended.yaml
查看安装状态 kubectl get pods -n kubernetes-dashboard
# 创建用户
$ kubectl create serviceaccount dashboard-admin -n kube-system
# 用户授权
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 获取用户Token
$ kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
7、访问dashboard
https://192.168.126.101:30001/