centos离线安装docker和K8S集群

centos离线安装docker和K8S集群
1、背景及概述
1.1、背景
当在生产环境或者公司网络覆盖环境中想要安装DOCKER和K8S时,受限于网络的原因,常常需要离线安装。
1.2、概述
基本上K8S的安装分为两种方式,二进制安装和kubeadm安装。Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。本文档基于kubeadm安装的方式,进行改进,缩减安装步骤。
2、环境准备
操作系统 IP CPU/MEM 主机名 角色
CentOS 7.7-x86_64 10.0.0.158 2/4G k8s-master master
CentOS 7.7-x86_64 10.0.0.157 2/4G k8s-node111 work node1
CentOS 7.7-x86_64 10.0.0.159 2/4G k8s-node222 work node2
【版本号】
name version
Docker 19.03.12
kubeadm 1.21.2
kubernetes 1.21.2
3、安装配置Centos环境
1)安装centos(省略)
该步骤可以参考网上虚拟机安装centos的步骤。
2)打开网口
默认centos的网络是没开的,所以安装好系统之后打开网口

3.1、安装centos(省略)
该步骤可以参考网上虚拟机安装centos的步骤。
3.2、打开网口
默认centos的网络是没开的,所以安装好系统之后打开网口,进行SSH连接,方便后续传输文件。但是由于还不知道系统的ip所以需要先查询ip。
1)配置yum源
配置centos的代理,yum的配置文件在/etc/yum.conf上。

2)下载ip查询工具
$ yum install net-tools
$ ifconfig

3)打开网口
默认centos是不打开网口的,所以需要手动打开,配置文件是/etc/sysconfig/network-scripts/ifcfg-ens33,把ONBOOT改为yes。

4)SSH连接
现在可以进行SSH连接了,连接后将附件k8s-install复制到系统里。

4、安装部署
4.1、部署master节点
1)一键部署
本文档提供一键式的部署脚本进行安装部署。
$ chmod +x install.sh
$ ./install.sh k8s-master

2)结果验证
当出现下列提示证明安装成功。

$ hostname 

该操作会升级系统内核,重启前内核

重启后内核
$ uname -r

3)使用 kubeadm 初始化集群
$ kubeadm init --kubernetes-version=v1.21.2 --apiserver-advertise-address=10.0.0.158 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
其中,
–apiserver-advertise-address 集群通告地址,改为自己的
–image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址
–kubernetes-version K8s版本,与上面安装的一致
–service-cidr 集群内部虚拟网络,Pod统一访问入口
–pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致
初始化之后,会输出一个join命令,先复制出来,node节点加入master会使用。
4)执行提示命令
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config
初始化完成后,执行提示命令,将join命令记录下来,这是将node节点加入到集群的执行操作命令。
kubeadm join 10.0.0.158:6443 --token gauycz.ct40nhvbonr0h34i --discovery-token-ca-cert-hash sha256:55d7b2468e2808abce7fd52f578aca3509a50ff1d051dd5cd78c2d4637c75985
5)使用 kubectl 查看 nodes

当前状态Notready,是因为网络插件flannel还没有部署。
4.2、初始化网络插件 flannel
1)加载镜像(所有节点都加载)
$ docker load < flannel-v0.14.0.tar
2)初始化(只在master)
$ kubectl apply -f kube-flannel-v0.14.1.yml
3)使用 kubectl 查看 nodes
$ kubectl get nodes

至此,master操作完成。
4.3、部署node节点
1)部署node111
步骤和部署master部署一样,只是运行脚本时,设置成当前的节点名。
$ ./install.sh k8s-node111
2)加入集群
执行master步骤初始化集群后记录的命令,如下:
kubeadm join 10.0.0.158:6443 --token gauycz.ct40nhvbonr0h34i --discovery-token-ca-cert-hash sha256:55d7b2468e2808abce7fd52f578aca3509a50ff1d051dd5cd78c2d4637c75985
3)验证
去master查看集群节点信息,如果STATUS状态为NotReady,如下图,就多等一会,可能是加入未完成。

4)复制admin.conf文件
使用scp命令将maser的“/etc/kubernetes/admin.conf”复制到node节点
k8s-master执行:
$ scp /etc/kubernetes/admin.conf root@10.0.0.159:/etc/kubernetes/
k8s-node111执行:
$ echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile
$ source ~/.bash_profile
现在可以在k8s-node111节点使用kubectl命令了

同理加入node222节点方法也一样。

本文重点参考:https://www.cnblogs.com/nbzws/p/15675596.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7安装Kubernetes(k8s集群的步骤如下: 1. 确保你的CentOS 7系统已经安装并配置好了Docker。可以通过以下命令来安装Docker: ``` sudo yum install -y docker ``` 2. 启动Docker服务并设置为开机自启: ``` sudo systemctl start docker sudo systemctl enable docker ``` 3. 安装kubeadm、kubelet和kubectl工具。可以通过以下命令来安装: ``` sudo yum install -y kubelet kubeadm kubectl ``` 4. 启动kubelet服务并设置为开机自启: ``` sudo systemctl start kubelet sudo systemctl enable kubelet ``` 5. 关闭防火墙或者配置防火墙规则,确保Kubernetes所需的端口是开放的。可以通过以下命令关闭防火墙: ``` sudo systemctl stop firewalld sudo systemctl disable firewalld ``` 6. 在Master节点上初始化Kubernetes集群。运行以下命令来初始化: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 7. 初始化完成后,根据输出的提示,运行相应的命令来设置kubectl的配置文件和网络插件。例如: ``` mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 8. 在Worker节点上加入Kubernetes集群。运行Master节点初始化时输出的命令,例如: ``` sudo kubeadm join <Master节点的IP地址>:<Master节点的端口> --token <Token值> --discovery-token-ca-cert-hash <证书哈希值> ``` 至此,你已经成功安装了一个基本的Kubernetes集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值