概述
1.机器准备
三台虚拟机,一台master,二台node
2.安装前的环境确认所有机器都需要执行:
a:三台机器都可以联网,uname -a查看内核是否大于等于3.1
b:关闭三台机器的防火墙
systemctl stop firewalld
systemctl disable firewalld
c:关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
d:关闭swap
swapoff -a
vi /etc/fstab
注释这一行:/mnt/swap swap swap defaults 0 0
free -m查看swap是否全为0
由于我也是看别人的流程操作的别人的流程上说注释这一行"/mnt/swap swap swap defaults 0 0" 我在里面没有找到,就把这行注释了,反正整个流程是没有报错的,因为我也是刚开始学这个也不知道注释的这行是什么意思,望见谅
e:配置三台机器的主机名,分别在三台机器上执行命令
192.168.97.97上执行:hostnamectl set-hostname k8smaster
192.168.97.98上执行:hostnamectl set-hostname k8snode1
192.168.97.99上执行:hostnamectl set-hostname k8snode2
f:在master的机器上添加hosts,在192.168.97.97上执行命令
cat >> /etc/hosts << EOF
192.168.97.97 k8smaster
192.168.97.98 k8snode1
192.168.97.99 k8snode2
EOF
g:将桥接的IPV4流量传递到iptables的链,三台机器都执行命令
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
h:所有节点执行命令,生效
sysctl --system
i:同步每个服务器的时间和时区
yum install ntpdate -y
ntpdate time.windows.com
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3.三台机器全部安装docker
所有机器都需安装
安装wget
yum install -y wget
3.1:配置阿里云的镜像
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
3.2:刷新yum源
yum clean all
yum makecache
yum -y update
3.3:安装docker
yum -y install docker-ce-18.06.1.ce-3.el7
如果之前机器上有安装过,先删除,执行(我自己没有执行过,不知道能不能成功)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
3.4:启动docker,并设为开机自启动
systemctl enable docker && systemctl start docker
4.配置kubeadm,kubelet,kubectl镜像
所有机器都需要:
kubelet:运行在集群所有节点上,负责启动POD和容器
kubeadm:用于初始化集群
kubectl:kubenetes命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新组件
4.1:创建yum源的文件
cat > kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
4.2:将文件移到yum的目录
mv kubernetes.repo /etc/yum.repos.d/
5.安装kubeadm,kubelet,kubectl
所有机器都需要:
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
systemctl enable kubelet
6.初始化kubeadm(只在master机器上)
只执行master机器192.168.97.97:
kubeadm init
--apiserver-advertise-address=192.168.97.97
--image-repository registry.aliyuncs.com/google_containers
--kubernetes-version v1.18.0
--service-cidr=10.96.0.0/12
--pod-network-cidr=10.244.0.0/16
返回这些东西,就说明上一步操作成功
7.将k8s生成的管理员连接k8s集群的配置文件考到它默认的工作目录
只执行master机器192.18.97.97:
这样就可以通过kubectl连接k8s集群了,执行命令:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在node机器里执行:
kubeadm join 192.168.97.97:6443 --token 7ipith.8s7dhmj1l1kec7h3
> --discovery-token-ca-cert-hash sha256:a791f4c071ac02af3b35e814453cec76b4e4533b22140d43bdd2e6d438895932
测试:
kubectl get node
8.安装pod网络插件CNI
只执行master机器:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
装好之后执行
kubectl get pods -n kube-system
所有组件状态都为:Running
9.测试kubernetes集群
在master机器里
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
返回的结果
访问
192.168.97.98:32112
192.168.97.99:32112
返回
最后
以上就是土豪野狼为你收集整理的个人安装k8s集合的整个过程(单master) 1.18.0版本 基于客户端工具库kubeadm方式的全部内容,希望文章能够帮你解决个人安装k8s集合的整个过程(单master) 1.18.0版本 基于客户端工具库kubeadm方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复