当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VsCode + Go + macOS 小白 demo运行
  • 浏览器自动化测试的利器:Cypress
  • AI大模型实战:pytorch安装
  • glsl着色器学习(七)
  • 从源码角度分析 Kotlin by lazy 的实现
  • accelerate一些类和函数说明二
  • 集合及映射
  • linux批量解压tar.gz文件
  • 动态规划-最大子数组和
  • STM32的CRC校验(基于HAL库)
  • c++面向对象程序设计中的二义性及解决办法--郭妍论文
  • Electron 项目实战 03: 实现一个截图功能
  • Spark框架
  • 【kubernetes】持久化存储 —— PV / PVC
  • 打开mdk的configuration wizard界面
  • 【技术性】Search知识
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • in typeof instanceof ===这些运算符有什么作用
  • JAVA并发编程--1.基础概念
  • jdbc就是这么简单
  • js算法-归并排序(merge_sort)
  • Linux链接文件
  • mongodb--安装和初步使用教程
  • PHP的Ev教程三(Periodic watcher)
  • Rancher如何对接Ceph-RBD块存储
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Vue学习第二天
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 程序员最讨厌的9句话,你可有补充?
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 计算机常识 - 收藏集 - 掘金
  • 警报:线上事故之CountDownLatch的威力
  • 看域名解析域名安全对SEO的影响
  • 利用jquery编写加法运算验证码
  • 面试遇到的一些题
  • 你真的知道 == 和 equals 的区别吗?
  • 前端
  • 前端临床手札——文件上传
  • 前端面试总结(at, md)
  • 使用 QuickBI 搭建酷炫可视化分析
  • 小程序开发之路(一)
  • 用mpvue开发微信小程序
  • 栈实现走出迷宫(C++)
  • 转载:[译] 内容加速黑科技趣谈
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • ​secrets --- 生成管理密码的安全随机数​
  • ​什么是bug?bug的源头在哪里?
  • # C++之functional库用法整理
  • (1)(1.13) SiK无线电高级配置(五)
  • (152)时序收敛--->(02)时序收敛二
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Java)【深基9.例1】选举学生会
  • (Java入门)学生管理系统