https和harbor仓库跟k8s

2024-09-04 06:12

本文主要是介绍https和harbor仓库跟k8s,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

https

做证书

harbor仓库


https

https是加密的http,它的端口是443,它的协议是tcp协议。建立连接和普通的tcp是一样的,都是三次握手和四次挥手,但是它三次握手之后有一个步骤:SSL或者TLS握手的过程,这个过程是为了建立安全的加密通信通道。

SSL或者TLS握手的过程:

1. 客户端向服务端发送一个信息,包含客户端支持的SSL/TLS的协议版本、加密算法的列表、随机数等等

2. 服务端收到信息之后回复客户端,确认使用的SSL/TLS的加密版本、加密算法、发送随机数给客户端。发送随机是为了双方确认身份。

3. 服务端发送数字证书给客户端,数字证书包含服务器的公钥,客户端有了公钥之后,就可以确认服务器的真实身份  

   数字证书获取方式:1.买

                                    2.服务器自己签发(自己做)

4. 密钥交换:服务端和客户端协商一个对称加密的密钥,用于后续的加密通信。

密钥怎么生成:服务器的公钥加密之后生成客户端的对称密钥,然后服务器解密得到密钥

5. 只有上述完成之后,服务端和客户端才能进行加密的通信

加密的本质就是服务端和客户端之间互相认证的密钥对。

做证书

mkdir -p /data/cert

cd /data/cert/

openssl genrsa -des3 -out server.key 2048 自己签发的私钥文件

解释:openssl genrsa:表示生成RSA的密钥

-des3:表示DES加密算法对私钥进行加密

-out server,key:表示私钥文件的文件名

2048:表示RSA密钥的位数是2048位

然后输入两次密码(自己定义)

根据私钥文件签发请求文件:

openssl req -new -key server.key -out server.csr

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key   清除私钥的密码

openssl x509 -req -days 1000 -in server.csr -signkey server.key -out server.crt    对证书进行签名

解释:

x509:x.509证书是openssl常用的公钥证书的标准

-req:输入的文件是一个证书签名请求,就是csr来对crt文件进行签名证书

-days 1000 :证书的有效期是1000天

-in server.csr:指定证书签名的请求文件

-signkey server.key:使用私钥对生成的证书进行自签名,这里的私钥与csr中的公钥是匹配的

-out server.crt:生成自签名证书文件

chmod 777 /data/cert/*

此时证书就已经做好了

harbor仓库

前期:需要先把上面的证书做好,才能建仓库

cd /opt/harbor/

vim harbor.yml

./prepare

./install.sh

然后访问本机的ip地址 192.168.233.55

此时会出现警告,直接点高级——继续访问

cd /

scp -r data/ root@192.168.233.31:/

scp -r data/ root@192.168.233.32:/

scp -r data/ root@192.168.233.33:/

然后回到我们k8s集群的1主2node 主机上同步操作(三台都要操作)

mkdir -p /etc/docker/certs.d/hub.test.com

cd /data/cert/

cp server.crt  server.csr  server.key  server.key.org /etc/docker/certs.d/hub.test.com

vim /etc/hosts

做域名映射

vim /lib/systemd/system/docker.service

systemctl daemon-reload

systemctl restart docker

此时就完成了

在node节点上测试登录仓库:docker login -u admin -p 123456 https://hub.test.com

然后我们回到浏览器

在node节点主机上操作:

docker tag nginx:1.22 hub.test.com/xy102/nginx:v1

docker push hub.test.com/xy102/nginx:v1

回到master 主机上操作:

cd /opt/k8s-yaml/

vim init1.yaml

kubectl apply -f init1.yaml

这篇关于https和harbor仓库跟k8s的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135219

相关文章

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas