当前位置:   article > 正文

2020 实战CentOS7.8 安装 Kubernetes1.18.6 教程

2020 实战CentOS7.8 安装 Kubernetes1.18.6 教程


kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
按照与允许Google每周运行数十亿个容器的相同原则设计,Kubernetes可以在不增加运营团队的情况下进行扩展。
无论是在本地测试还是在全球性企业中运行,Kubernetes的灵活性都会随着您的需求而增长,无论您的需求多么复杂,它都能始终如一地轻松交付应用程序。
混合云切记一定要打通网络

统一安装环境(如果你节点很多,自己规划好)

系统节点IP
CentOS7.8 64位3.10.0-1127.13.1.el7.x86_64Master10.10.10.10
CentOS7.8 64位3.10.0-1127.13.1.el7.x86_64Node1192.168.100.100

本次测试环境两台服务器,一台Master节点,一台Node1节点

基本配置

第一次写,写的不好得地方还请谅解

修改主机名和本地hosts解析

通过修改vim /etc/hostname 来修改主机名
Master节点修改为 master1
Node1节点修改为 node1
修改vim /etc/hosts 来相互解析
两台都相互添加如下解析

10.10.10.10				master1
192.168.100.100			node1
  • 1
  • 2

时间同步

企业中建议使用时间同步服务器
使用chronyd服务
systemctl start chronyd
systemctl enable chronyd
date命令来验证时间

禁用iptables和firewalld服务

关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
关闭iptables服务
systemctl stop iptables
systemctl disable iptables

禁用selinux

Selinux是Linux系统下的一个安全服务,如果不关闭它,在安装集群中回产生各种各样的奇葩问题
编辑 /etc/selinux/config 文件,修改 SELINUX 的值为disabled
SELINUX=disabled
修改完成后需要重启系统生效
查看命令: getenforce

禁用swap分区

编辑/etc/fstab 注释swap分区一行,重启Linux即可

修改Linux的内核参数

修改Linux的内核参数,添加网桥过滤和地址转发的功能
编辑/etc/sysctl.d/kubernetes.conf文件,添加如下配置:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
加载网桥过滤模块
modprobe br_netfilter
查看网桥过滤模块是否加载成功
lsmod | grep br_netfilter
重新加载配置
sysctl -p

配置ipvs功能

中kubernetes中service有两种代理模型,一种是基于iptables的,一种是基于ipvs的,两者比较的话,ipvs的性能明显要高一些,但是如果要使用它,需要手动载入ipvs模块
安装ipset和ipvsadm

yum install ipset ipvsadm -y
  • 1

添加需要加载的模块写入脚本文件( —是两个 横杠 )

cat <<EOF > /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
modprobe — ip_vs
modprobe — ip_vs_rr
modprobe — ip_vs_wrr
modprobe — ip_vs_sh
modprobe — nf_conntrack_ipv4
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

为脚本文件添加执行权限

chmod +x /etc/sysconfig/modules/ipvs.modules
  • 1

执行脚本文件

/bin/bash /etc/sysconfig/modules/ipvs.modules
  • 1

查看对应的模块是否加载成功

lsmod | grep -e ip_vs -e nf_conntrack_ipv4
  • 1

安装docker

这里是指定版本安装docker的 3:19.03.13-3.el7 版本

sudo yum -y install docker-ce-19.03.13-3.el7
  • 1

根据文档安装后,记住添加开机自动启动

systemctl enable docker
  • 1

配置镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "registry-mirrors": ["https://kq1fsint.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

更多可以查看阿里云镜像:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11qRSjZE

安装kubernetes

更多可以查看阿里云镜像:https://developer.aliyun.com/mirror/kubernetes?spm=a2c6h.13651102.0.0.3e221b11qRSjZE

这里使用指定版本安装kubernetes的 1.19.4-0 版本

yum install -y kubelet-1.19.4-0 kubeadm-1.19.4-0 kubectl-1.19.4-0
  • 1

查看文档地址安装好后,在执行如下操作

注意:以上所有操作每一台节点也都需要安装

初始化集群

通过kubeadm config images list查看需要安装的镜像和版本

创建集群:

kubeadm init \
--kubernetes-version=v1.19.4 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--apiserver-advertise-address=10.10.10.10 \
--v=6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

完成会看到这句话

Your Kubernetes control-plane has initialized successfully!
  • 1

就代表初始化成功,否则失败
然后执行如下操作:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 1
  • 2
  • 3

记录初始化完成后的最后一条命令

kubeadm join 10.10.10.10:6443 --token azyw4b.009sd5vupsnwrtz3     --discovery-token-ca-cert-hash sha256:a779406c375aabea58040a6501242ff8f3441b4d7d4c079f6f8083df2b5b2741
  • 1

原本的是有效时间过期的加入集群命令,可以通过如下操作创建一个永久令牌

kubeadm token create --ttl 0 --print-join-command
  • 1

使用令牌在node节点操作一次

查看节点状态:应该此时的状态为NotReady是未安装网络插件

kubelet get nodes
  • 1

查看节点状态

安装网络插件

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • 1

查看状态,等待就绪

watch kubectl get pod -n kube-system -o wide
  • 1

查看到状态为Running为止

在次查看节点状态:应该此时的状态为Ready

kubelet get nodes
  • 1

到此,K8S集群搭建基本工作加完成了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/268152
推荐阅读
相关标签
  

闽ICP备14008679号