离线安装 Kubernetes一键安装

介绍


正常部署K8s时,一般情况下单位服务器是不联网的,需要离线安装。本文就讲一下在没有互联网到企业内网部署Kubernetes集群

安装前准备


  • 安装并启动docker/containerd(1.20+安装containerd),已经安装了会重启docker/containerd. 高版本离线包自带docker/containerd,如没安装docker/containerd会自动安装.
  • 下载kubernetes 离线安装包.
  • 下载最新版本sealos.
  • 务必同步服务器时间
  • 主机名不可重复,需要修改主机的主机名
  • master节点CPU必须2C以上

环境信息

主机名IP地址服务器密码
centos7-01192.168.55.101123456
centos7-02192.168.55.102123456
centos7-03192.168.55.103123456

下面离线包


只需要准备好服务器,在任意一台服务器上执行下面命令即可

下载并安装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集群节点


在这里插入图片描述

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/1541.html

发表评论

登录后才能评论