我是靠谱客的博主 土豪野狼,最近开发中收集的这篇文章主要介绍个人安装k8s集合的整个过程(单master) 1.18.0版本 基于客户端工具库kubeadm方式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部