我们需要做以下工作:
(1)安装VMware,运行CentOs系统,一个做master,一个做node。
(2)安装K8s。
(3)安装docker和部分镜像会需要访问外网,所以你需要做些网络方面的准备工作,大家可以去某宝找一下,或者在网络上找别人下好的也可以。
一、安装VMware
官网地址:https://my.vmware.com/zh/web/vmware/downloads (网上有很多自带破解的下载,大家也可以找一下)
我这里下载的是VM15(安装和新建虚拟机的步骤就跳过了,我也是百度的)
虚拟机配置:2核2G
CentOs下载地址:https://www.centos.org/download/
1.如果是win10系统,需要关闭Hyper-V。
2.为了方便操作,我这里是通过cmd来操作vw的Linux命令,用到了以下两个工具:
安装 chocolate ( https://chocolatey.org/):
管理员方式启动CMD,运行以下命令安装chocolate :
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1‘))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
安装完chocolate 后还需要安装 ssh terminals (https://chocolatey.org/packages/terminals),直接CMD运行以下命令就可以:
choco install terminals
顺便说下如何修改Linux主机名称:
hostnamectl set-hostname 新主机名
二.配置Linux
(1)开启网卡(设置完需要重启):
vi /etc/sysconfig/network-script/ifcfg-eth33
ONBOOT=yes
(2)安装net-tool包:
yum install net-tool
(3)使用cmd通过ssh连接Linux:
首先通过ifconfig查看当前Linux的ip,然后在cmd中运行以下命令(管理员模式):
ssh root@IP
(4)关闭所有节点的SELinux
/etc/selinux/config
SELINUX=disabled
(5)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
(6)关闭swap
vi /etc/fstab
在行首加 #,注释该行
(7)完成第6步后重启,然后设置iptables
vi /etc/sysctl.conf net.bridge.bridge-nf-call-iptables = 1 sudo sysctl -p
三.安装Docker
(1)下载安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
最后一步下载docker-ce因为是外网,所以会有网络问题,大家八仙过海各显神通哈,从阿里云下载也可以的,总之版本越新越好,我这里是18.09,完成后通过以下命令查看下:
docker -v
(2)配置docker加速器
加速器怎么配置就不说了,这里是我的阿里云加速地址,大家可以自行替换,然后我们还需要指定下k8s的下载地址:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-‘EOF‘ { "registry-mirrors": ["https://bbw0jgk7.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
cat>>/etc/yum.repos.d/kubrenetes.repo<<EOF [kubernetes] name=Kubernetes Repo baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg EOF
(3)安装:
yum install -y kubeadm kubelet kubectl
(4)设置开机启动
systemctl start docker.service
systemctl enable docker.service
systemctl enable kubelet.service
(5)初始化k8s
kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=cri --kubernetes-version=1.13.0
(6)配置下变量
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
(7)重启
docker restart $(docker ps -a -q)
到这一步我们已经可以用以下命令查看集群信息:
kubectl get node
这个时候只有一个master节点,而且Status是NotReady状态,这是因为没有安装网络组件的原因,我们需要安装下
(8)始化网络插件 Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
同样这一步也需要访问外网下载镜像,配置了阿里云加速也没用的,网上还有有种在yml文件里配置的方式可以通过阿里云下载,我也不是很清楚,大家可以搜下。
这一步执行完成后,master的Status状态就会变为Ready,master配置就完成了。
(9)配置Node
Node的配置和master一样,需要下载docker、kubectl等,但是只需要执行到上面的第(4)步就OK了,(5)、(6)步不用执行,当然Flannel组件仍然需要安装。
(10)通过以下命令将node加入集群
kubeadm join 192.168.3.131:6443 --token s87gto.ruxhofion1qemfte --discovery-token-ca-cert-hash sha256:ef0333ddcc5ade8541544de89333ab81b20ae96b0345f9a55185eb95e3837905
这个命令第(5)步初始化k8s完成后会自己输出出来,需要注意的是里面的token字段,如果大家忘了token是啥,在master上执行以下命令查看:
kubeadm token list
或者我们也可以在master节点新建token:
kubeadm create token
但是需要注意的是默认情况下,通过 kubeadm create token
创建的 token
,过期时间是24小时,这就是为什么过了一天无法再次使用之前记录的 kube join
原生脚本的原因,也可以运行 kubeadm token create --ttl 0
生成一个永不过期的 token
,详情请参考:kubeadm-token。
然后通过kubectl get node命令就可以看到Node的节点信息了。
如果成功将node加入了集群,但是在master上看不到,参考下:https://www.cnblogs.com/justmine/p/8886675.html
OK,暂时到此结束,后期有新进展再更新。
原文:https://www.cnblogs.com/weiBlog/p/10503779.html