介绍
正常部署K8s时,一般情况下单位服务器是不联网的,需要离线安装。本文就讲一下在没有互联网到企业内网部署Kubernetes集群
安装前准备
- 安装并启动docker/containerd(1.20+安装containerd),已经安装了会重启docker/containerd. 高版本离线包自带docker/containerd,如没安装docker/containerd会自动安装.
- 下载kubernetes 离线安装包.
- 下载最新版本sealos.
- 务必同步服务器时间
- 主机名不可重复,需要修改主机的主机名
- master节点CPU必须2C以上
环境信息
主机名 | IP地址 | 服务器密码 |
---|---|---|
centos7-01 | 192.168.55.101 | 123456 |
centos7-02 | 192.168.55.102 | 123456 |
centos7-03 | 192.168.55.103 | 123456 |
下面离线包
只需要准备好服务器,在任意一台服务器上执行下面命令即可
下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/latest/sealos
下载离线资源包
$ wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz
安装k8s
把sealos和kube1.22.0.tar.gz都上传到服务器
[root@centos7-01 ~]# ls /usr/bin/sealos
/usr/bin/sealos
[root@centos7-01 ~]# ls kube1.22.0.tar.gz
kube1.22.0.tar.gz
执行sealos安装k8s集群
sealos init --passwd '123456' \
--master 192.168.55.101 \
--node 192.168.55.102 \
--node 192.168.55.103 \
--pkg-url /root/kube1.22.0.tar.gz \
--version v1.22.0
.
.
.
.
16:07:20 [INFO] [ssh.go:13] [ssh][192.168.55.102:22] mkdir -p /etc/kubernetes/manifests
16:07:20 [DEBG] [ssh.go:25] [ssh][192.168.55.103:22]command result is:
16:07:20 [DEBG] [ssh.go:25] [ssh][192.168.55.102:22]command result is:
16:07:21 [INFO] [scp.go:159] [ssh][192.168.55.102:22]transfer total size is: 0MB
16:07:21 [INFO] [scp.go:159] [ssh][192.168.55.103:22]transfer total size is: 0MB
16:07:21 [DEBG] [ssh.go:58] [192.168.55.103:22] rm -rf /root/kube
16:07:21 [DEBG] [ssh.go:58] [192.168.55.102:22] rm -rf /root/kube
16:07:21 [DEBG] [print.go:21] ==>SendPackage==>KubeadmConfigInstall==>InstallMaster0==>JoinMasters==>JoinNodes
16:07:21 [INFO] [print.go:26] sealos install success.
16:07:21 [INFO] [init.go:96]
___ ___ ___ ___ ___ ___
/\ \ /\ \ /\ \ /\__\ /\ \ /\ \
/::\ \ /::\ \ /::\ \ /:/ / /::\ \ /::\ \
/:/\ \ \ /:/\:\ \ /:/\:\ \ /:/ / /:/\:\ \ /:/\ \ \
_\:\~\ \ \ /::\~\:\ \ /::\~\:\ \ /:/ / /:/ \:\ \ _\:\~\ \ \
/\ \:\ \ \__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/__/ /:/__/ \:\__\ /\ \:\ \ \__\
\:\ \:\ \/__/ \:\~\:\ \/__/ \/__\:\/:/ / \:\ \ \:\ \ /:/ / \:\ \:\ \/__/
\:\ \:\__\ \:\ \:\__\ \::/ / \:\ \ \:\ /:/ / \:\ \:\__\
\:\/:/ / \:\ \/__/ /:/ / \:\ \ \:\/:/ / \:\/:/ /
\::/ / \:\__\ /:/ / \:\__\ \::/ / \::/ /
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/
看到sealos的logo就带表安装成功了。
查看k8s配置文件
配置文件一般会在当前用户下 的 .kube目录内
[root@centos7-01 ~]# cat .kube/config
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLSxxxxxQo=
server: https://apiserver.cluster.local:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0txxxxxxxS0K
client-key-data: LS0tLS1CRUxxxxxxxtLQo=
使用Lens链接K8s集群
把上面配置里的server: https://apiserver.cluster.local:6443 集群地址改成IP地址,我这里没有配置域名
查看k8s集群节点
CSDN_码404:离线安装 Kubernetes一键安装
https://www.code404.icu/1541.html