k8s系列-12-离线二进制方式进行安装k8s

老板们,点个关注吧。图片

图片

有些情况不支持你连接外网,那么这种情况下就不支持kubespray方式了,那如何安装kubenetes呢?下面我们再采用二进制的方式来进行安装下看看吧。

图片

介绍

二进制安装方式,也被称为kubernetes-the-hard-way(k8s的困难方法),有以下特征:

生产高可用
证书永不过期
不依赖第三方ansible等工具
采用本地代理,不依赖haproxy或者keepalived

那么这种方式适合哪种人使用呢?

深入学习的人
喜欢掌控每个组件的人
正在部署生产环境的人

上面太官方了哈,简单的来说,这种方式就是你能控制每个组件如何进行安装,而不像kubespary那种方式,直接一键化部署了,很多东西自己都不能掌控,出问题都不知道是哪儿的问题。

不过两种方式如何取舍,还是要看个人习惯哈。不能说哪种好,哪种差。各有千秋吧。

环境

CPU>=2核,内存>=2G,其他信息如下:

node-nameip-address
role
node1
192.168.112.130
master、etcd
node2
192.168.112.131master、worker、etcd
node3
192.168.112.132worker、etcd

本次所有安装使用root用户进行。

配置主机名和路由

PS:需要在三个节点上都进行操作

[root@localhost ~]# vim /etc/hostname 
node1  # 三台服务器每台写自己的名字
[root@localhost ~]# hostname node1
[root@localhost ~]# bash
[root@node1 ~]# vim /etc/hosts
192.168.112.130 node1
192.168.112.131 node2
192.168.112.132 node3
[root@node1 ~]#

安装依赖

PS:需要在三个节点上都进行操作

# 更新yum源
[root@node1 ~]# yum update -y

# 下载依赖
[root@node1 ~]# yum install -y socat conntrack ipvsadm ipset jq sysstat curl iptables libseccomp yum-utils

策略调整

PS:需要在三个节点上都进行操作

[root@node1 ~]# setenforce 0
[root@node1 ~]# vim /etc/selinux/config
SELINUX=disabled
[root@node1 ~]# systemctl stop firewalld.service
[root@node1 ~]# systemctl disable firewalld.service
[root@node1 ~]# iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT
[root@node1 ~]# swapoff -a
[root@node1 ~]# systemctl stop dnsmasq.service
[root@node1 ~]# systemctl disable dnsmasq.service

参数设置

PS:需要在三个节点上都进行操作

[root@node1 ~]# vim /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
vm.overcommit_memory = 1
[root@node1 ~]# sysctl -p /etc/sysctl.d/kubernetes.conf

免密配置

PS:在node1节点操作即可

[root@node1 ~]# ssh-keygen  # 一路回车就行
[root@node1 ~]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDImB4dg1iR14Ghmd6J2h2BhBxZi59NR3xgD3dXWn8i3VPpzydKhR5bw2Q8+gqQPGqUtGCWbjtf30KrMGm2idpf8GJu5caJVMSFoscSYbv9nv9UvNCEuyDSgmpoZSDBxNK9CxBSNSBCvyOcFrjGyEyrBBCyjFVH/T71hG9SUwvdR3E38Qyv7/npYmVaoLADvDDf9E1c6siQLe8jbhvz6fjXVXLFG00/+1p6qox8dvNKQK30D7rYB8NunqnMN4vDFarQSCRJ8u6x9yThqTV0j8G8pXX3YkmMbTJT7BqAjeF3fuDgoy57/s3CgjxPqKE09tqx2B9Qaj/Lud/8xCfQ2Xvr root@node1
[root@node1 ~]#

PS:需要在三个节点上都进行操作,包括node1

# 将上一步cat之后获取的信息进行分发
[root@node1 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDImB4dg1iR14Ghmd6J2h2BhBxZi59NR3xgD3dXWn8i3VPpzydKhR5bw2Q8+gqQPGqUtGCWbjtf30KrMGm2idpf8GJu5caJVMSFoscSYbv9nv9UvNCEuyDSgmpoZSDBxNK9CxBSNSBCvyOcFrjGyEyrBBCyjFVH/T71hG9SUwvdR3E38Qyv7/npYmVaoLADvDDf9E1c6siQLe8jbhvz6fjXVXLFG00/+1p6qox8dvNKQK30D7rYB8NunqnMN4vDFarQSCRJ8u6x9yThqTV0j8G8pXX3YkmMbTJT7BqAjeF3fuDgoy57/s3CgjxPqKE09tqx2B9Qaj/Lud/8xCfQ2Xvr root@node1" >> ~/.ssh/authorized_keys
[root@node1 ~]#

软件包下载

可以从google上进行下载,我这里也准备了一份下载好的,在公众号“运维家”后台回复 “二进制k8s” ,即可获取下载地址。我看了下,最新版貌似是1.23.4版本,我这里提供的是1.20.2版本。

软件包分发

上传到任一节点上,我这里上传的是node1节点。

[root@node1 ~]# pwd
/root
[root@node1 ~]# tar xf kubernetes-v1.20.2.tar.gz 
[root@node1 ~]# cd kubernetes-v1.20.2/
[root@node1 kubernetes-v1.20.2]# ls
etcd-v3.4.10-linux-amd64.tar.gz  kube-apiserver  kube-controller-manager  kubectl  kubelet  kube-proxy  kube-scheduler
[root@node1 kubernetes-v1.20.2]# chmod +x kube*
# 分发master组件
[root@node1 kubernetes-v1.20.2]# MASTERS=(node1 node2)
[root@node1 kubernetes-v1.20.2]# for instance in ${MASTERS[@]}; do   scp kube-apiserver kube-controller-manager kube-scheduler kubectl root@${instance}:/usr/local/bin/; done
# 分发worker组件
[root@node1 kubernetes-v1.20.2]# WORKERS=(node2 node3)
[root@node1 kubernetes-v1.20.2]# for instance in ${WORKERS[@]}; do   scp kubelet kube-proxy root@${instance}:/usr/local/bin/; done
# 分发etcd组件
[root@node1 kubernetes-v1.20.2]# tar xf etcd-v3.4.10-linux-amd64.tar.gz 
[root@node1 kubernetes-v1.20.2]# cd etcd-v3.4.10-linux-amd64/
[root@node1 etcd-v3.4.10-linux-amd64]# ETCDS=(node1 node2 node3)
[root@node1 etcd-v3.4.10-linux-amd64]# for instance in ${ETCDS[@]}; do   scp etcd etcdctl root@${instance}:/usr/local/bin/; done

至此,本文结束。基础环境就准备好了,接下来就开始具体安装每一个小组件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值