欢迎光临
我们一直在努力

二、kubersphere v4.1.2 安装前准备

kubersphere 规划使用三台服务进行配置

        操作系统:openEuler-23.03-x86_64 ,4C8G内存  80G硬盘

ip 作用 配置 备注
192.168.1.15 镜像仓库 4C4G内存  80G硬盘 域名:harbor.magedu.com
192.168.1.20 master 4C8G内存  80G硬盘
192.168.1.30 node 4C8G内存  80G硬盘

安装kuberpshere前,需要先安装一个镜像仓库,这里采用harbor

离线安装Docker系统

第一步:下载docker离线包

https://download.docker.com/linux/static/stable/x86_64/docker-28.0.1.tgz

补充,也可以从https://download.docker.com/linux/static/stable/网址下载指定版本

第二步:下载离线安装工具

https://github.com/Jrohy/docker-install/

第三步:将下载好的资源放在一个目录,例如:

第四步:上传离线安装包

在linux环境下,创建/opt/docker目录,

mkdir -p /opt/docker
cd /opt/docker
#上传下载的dockers到/opt/docker
ll

第五步:执行安装操作

cd /mnt/sdb/opt/docker
chmod +x install.sh
./install.sh -f docker-28.0.1.tgz
docker info

第六步:Docker服务基本操作

#启动docker服务
systemctl start docker
#设置Docker开机自启
systemctl enable docker
#查看Docker状态
systemctl status docker

配置hosts

vi /etc/hosts
192.168.1.15 harbor.magedu.com

配置本地镜像仓库

mkdir -p /etc/docker
vi /etc/docker/daemon.json

{
"insecure-registries": ["harbor.magedu.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}

systemctl restart docker

docker-compose 安装

到docker-compose的官网https://github.com/docker/compose/releases 下载需要的docker-compose版本

2、下载

wget https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64

mv docker-compose-linux-x86_64 /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
#查看安装结果
docker-compose version

Docker安装Harbor配置

 harbor使用自签名证书部署、为什么要用sa模式签发呢? 
原因:因为新版的containerd 使用go写的 harbor使用containerd就需要sa模式签发的证书。

kuberspshere集群需要使用containerd

一、配置证书

参考官方文档:https://goharbor.io/docs/2.4.0/install-config/configure-https/ 默认情况下,Harbor不附带证书。可以在没有安全性的情况下部署Harbor,这样您就可以通过HTTP连接到它。然而,只有在没有连接到外部互联网的测试或开发环境中,使用HTTP才是可接受的。在没有空隙的环境中使用HTTP会使您面临中间人攻击。在生产环境中,请始终使用HTTPS。如果您启用公证内容信任来正确签署所有图像,您必须使用HTTPS 要配置HTTPS,您必须创建SSL证书。您可以使用由受信任的第三方CA签名的证书,也可以使用自签名证书。本节描述如何使用OpenSSL创建CA,以及如何使用CA签署服务器证书和客户端证书。您可以使用其他CA提供商,例如Let's Encrypt

 

生成证书颁发机构证书  

在生产环境中,您应该从CA获得证书。在测试或开发环境中,您可以生成自己的CA。要生成CA证书,请运行以下命令。

1.生成CA证书私钥

mkdir -p /opt/openssl
cd /opt/openssl
openssl genrsa -out ca.key 4096
touch /root/.rnd #记录签发信息 提前进行创建

2.生成CA证书

#实验
openssl req -x509 -new -nodes -sha512 -days 3650 \\
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=magedu.com" \\
-key ca.key \\
-out ca.crt

生成服务器证书

        证书通常包含一个. crt文件和一个. key文件,例如magedu.com.crt和magedu.com.key

1.生成私钥

#openssl genrsa -out yourdomain.com.key 4096
openssl genrsa -out magedu.net.key 4096

2.生成证书签名请求(CSR)

openssl req -sha512 -new \\
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=magedu.com" \\
-key magedu.net.key \\
-out magedu.net.csr

无论您是使用FQDN还是IP地址连接到您的Harbor主机,您都必须创建此文件,以便您可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3扩展要求的证书。替换DNS条目以反映您的域

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=magedu.com
DNS.2=harbor.magedu.net
DNS.3=harbor.magedu.local
DNS.4=harborsync.magedu.net
EOF

3.使用v3.ext文件为您的Harbor主机生成证书。 用harbor主机名替换CRS和CRT文件名中的magedu.com

openssl x509 -req -sha512 -days 3650 \\
-extfile v3.ext \\
-CA ca.crt -CAkey ca.key -CAcreateserial \\
-in magedu.net.csr \\
-out magedu.net.crt

-CA ca.crt -CAkey ca.key表示CA直接签发,指定magedu.net.csr这个文件,

签发完后是magedu.net.crt文件;并会加载v3.ext这个文件,v3.ext文件的
信息会被签发到magedu.net.crt文件信息证书里

我们harbor用的就是这个magedu.net.crt和magedu.net.key文件

4.将crt文件转换为cert客户端证书文件

#docker程序认为"*.crt"文件是CA证书文件,"*.cert"客户端证书文件,于是上面第五步需要转换一下,其实使用cp一下也是可以的,内容并没有变化。
openssl x509 -inform PEM -in magedu.net.crt -out magedu.net.cert

5.证书整理一下 方便后续维护

[root@harbornew certs]ll
total 32
drwxr-xr-x 5 root root 44 Jul 12 14:59 all
-rw-r–r– 1 root root 2025 Jul 12 14:33 ca.crt
-rw-r–r– 1 root root 3243 Jul 12 14:33 ca.key
-rw-r–r– 1 root root 17 Jul 12 14:34 ca.srl
-rw-r–r– 1 root root 2143 Jul 12 14:55 magedu.net.cert
-rw-r–r– 1 root root 2143 Jul 12 14:34 magedu.net.crt
-rw-r–r– 1 root root 1704 Jul 12 14:34 magedu.net.csr
-rw-r–r– 1 root root 3247 Jul 12 14:33 magedu.net.key
-rw-r–r– 1 root root 307 Jul 12 14:34 v3.ext
[root@harbornew certs]ll all/
total 0
drwxr-xr-x 2 root root 48 Jul 12 14:58 CA
drwxr-xr-x 2 root root 65 Jul 12 14:59 Client
drwxr-xr-x 2 root root 95 Jul 12 14:59 Server
[root@harbornew certs]ll all/CA/
total 12
-rw-r–r– 1 root root 2025 Jul 12 14:58 ca.crt
-rw-r–r– 1 root root 3243 Jul 12 14:58 ca.key
-rw-r–r– 1 root root 17 Jul 12 14:58 ca.srl
[root@harbornew certs]ll all/Client/
total 12
-rw-r–r– 1 root root 2025 Jul 12 14:59 ca.crt
-rw-r–r– 1 root root 2143 Jul 12 14:59 magedu.net.cert
-rw-r–r– 1 root root 3247 Jul 12 14:59 magedu.net.key
[root@harbornew certs]ll all/Server/
total 16
-rw-r–r– 1 root root 2143 Jul 12 14:59 magedu.net.cert
-rw-r–r– 1 root root 2143 Jul 12 14:59 magedu.net.crt
-rw-r–r– 1 root root 1704 Jul 12 14:59 magedu.net.csr
-rw-r–r– 1 root root 3247 Jul 12 14:59 magedu.net.key

二、配置harbor 证书

mkdir -p /opt/harbor
cd /opt/harbor
# 下载解压
wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz
tar zxvf harbor-online-installer-v2.1.1.tgz

# 配置安装
cp harbor.yml.tmpl harbor.yml
#在harbor中配置https证书
vi harbor.yml

harbor.yml内容如下:

# http related config
#http:
# port for http, default is 80. If https enabled, this port will redirect to https port
#port: 80

# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /opt/openssl/magedu.net.crt
private_key: /opt/openssl/magedu.net.key

三、 运行harbor

#安装harbor
./install.sh –with-trivy –with-chartmuseum
#查看运行状态
docker ps

[root@harbornew harbor]docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a6df79cb54b goharbor/harbor-jobservice:v2.3.2 "/harbor/entrypoint.…" About an hour ago Up About an hour (healthy) harbor-jobservice
d576de509508 goharbor/nginx-photon:v2.3.2 "nginx -g 'daemon of…" About an hour ago Up About an hour (healthy) 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp nginx
67ce130130fc goharbor/harbor-core:v2.3.2 "/harbor/entrypoint.…" About an hour ago Up About an hour (healthy) harbor-core
610264585f6e goharbor/trivy-adapter-photon:v2.3.2 "/home/scanner/entry…" About an hour ago Up About an hour (healthy) trivy-adapter
1cd26fcfcdae goharbor/harbor-registryctl:v2.3.2 "/home/harbor/start.…" About an hour ago Up About an hour (healthy) registryctl
c90e18c90602 goharbor/registry-photon:v2.3.2 "/home/harbor/entryp…" About an hour ago Up About an hour (healthy) registry
e8029f065c42 goharbor/chartmuseum-photon:v2.3.2 "./docker-entrypoint…" About an hour ago Up About an hour (healthy) chartmuseum
e07dde86f80a goharbor/harbor-portal:v2.3.2 "nginx -g 'daemon of…" About an hour ago Up About an hour (healthy) harbor-portal
10aa3de5d6a6 goharbor/redis-photon:v2.3.2 "redis-server /etc/r…" About an hour ago Up About an hour (healthy) redis
c340e69b0e15 goharbor/harbor-db:v2.3.2 "/docker-entrypoint.…" About an hour ago Up About an hour (healthy) harbor-db
67ea32b72fbd goharbor/harbor-log:v2.3.2 "/bin/sh -c /usr/loc…" About an hour ago Up About an hour (healthy) 127.0.0.1:1514->10514/tcp harbor-log
docker-compose up -d
docker-compose down -v

四、配置系统启动服务

vi /etc/systemd/system/harbor.service

[Unit]
Description=harbor server
After=network.target

[Service]
Type=forking
PIDFile=/mnt/sdb/opt/nginx/nginx-1.29.0/logs/nginx.pid
ExecStartPre=/mnt/sdb/opt/nginx/nginx-1.29.0/sbin/nginx -t
ExecStart=/mnt/sdb/opt/nginx/nginx-1.29.0/sbin/nginx
ExecReload=/mnt/sdb/opt/nginx/nginx-1.29.0/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

#开机启动
systemctl enable nginx.service
#启动服务
systemctl start nginx.service

赞(0)
未经允许不得转载:171主机测评 » 二、kubersphere v4.1.2 安装前准备
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址