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

k8s中pod基础及https密钥、horber仓库

一、pod基础:

1.pod是k8s里面最小单位,pod也是最小化运行容器的资源对象;容器是基于pod在k8s集群中工作;在k8s集群当中,一个pod就代表着一个运行进程,k8s的大部分组件都是围绕pod进行的,对pod进行支持支持和扩展。例如deployment、service都是围绕pod进行部署。

2.k8s的pod有两种使用方式:

一个pod一个容器,这是最常见的方式,k8s管理pod而不管理容器;

一个pod里面可以有多个容器,但是再多的容器也和pod共用一个IP;

3.现在容器的技术要求:一个pod下的容器必须要运行在同一节点上,因为要共享网络和挂载卷,但是共享网络和挂载卷不是pod自身提供,而是由pause提供网络共享和挂载卷共享

4.创建pause:在创建pod时候是先把pause镜像运行起来也就是初始化镜像(系统自己处理),pause镜像运行起来后才能拉取nginx镜像;运行过程中pause不参与,只在删除的时候参与,删除镜像的过程中回收容器的资源和容器内的僵尸进程,完了通知kubelet回收pod,再通知APIserver保存到etcd。

 

二、pod分类:

1.pod作用:共享网络,共享挂载卷

2.初始化容器:这种初始化容器包含再pod内部的,属于pod的组成部分之一,而且扮演着pod的生命周期当中的启动环节;当我们拉起一个pod时,先构建pause,构建完之后如果包含初始化容器时必须要等初始化容器部署完毕之后才会部署应用容器。

启动顺序pause----->初始化容器---->真正意义的容器

3.定义初始化容器

三个容器,前两个为初始化容器 ,最后一个才是业务容器(真正意义上的容器)

 查看创建过程、启动的先后顺序是什么:先启动初始化容器,再启动业务容器

 怎么进入容器:kubectl exec -it pod名称  -c 容器名 bash

怎么查看容器日志

4.初始化容器运行完成之后使命完成之后即刻退出,节点上的容器还在,这个时候只能查询到业务容器和状态;初始化容器运行完毕之后必须要退出,否则后续的业务容器无法继续构建。

5.初始化容器启动失败后pod就进入到了ready状态

6.init容器作用:

1.创建pod的时候,可以为业务容器初始化运行条件以及提供环境变量和一些软件(自定义)

2.权限:初始化容器可以访问secrets权限不需要配置,业务容器必须要配置之后才能访问secret

3.可以在业务容器运行之前提供一些必要的条件,前提条件满足之后

4.容器内部进行挂载:

三、镜像拉取的三种策略:ifNotpresent、Always、Never

如果拉取镜像不加标签也就是镜像后面的数字,例如nginx:1.22,默认就是laster,laster指的是最新版本。如果没有指定标签也没有指定策略,默认是Always;如果镜像指定了标签默认则是ifNotpresent

1.ifNotpresent:镜像在本地已经存在,就不会到镜像仓库再拉取镜像了,默认模式。

 

2.Always:每次创建pod都会拉取镜像。

3.Never:从来不去仓库拉取镜像,只使用本地镜像。

四、安装horber仓库

另开一台主机安装docker先

安装组件:仓库及docker-compose

https:加密的http 端口443,tcp协议,建立连接和普通的tcp一样的都是三次握手和四次挥手,但在原来三次握手的基础上多出一次ssl或tls握手,多次一次的握手过程为了建立安全的加密通信通道。

SSL/TLS握手的过程:

生成密钥

opnessl:生成RSA的密钥

-des3:使用的时des加密算法/类型对私钥进行加密

-out:私钥的文件名

2048:RSA密钥的位数是2048

基于私钥签发请求文件:

备份私钥文件

清除私钥的密码

签名证书

x509:使用openssl证书常用的公钥证书的标准

-req:输入的文件是一个证书签名请求

csr:签名的请求文件,来对CRT文件进行签名证书

-days:证书的有效期

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

-signkey:用私钥文件对生成的证书进行自签名,私钥和csr里面的公钥是匹配的

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

配置文件:为了验证密钥对

登录harbor

将数据传给主节点和node节点

回到三个节点,同步操作

配置vim /etc/hosts,同步操作

将地址指向仓库 

 node节点上传镜像

主节点 下载

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 修改服务器DNS解析及修改自动对时时区
  • 零信任赋予安全牙齿,AI促使它更锋利
  • JAVA vs Python:谁更适合后端开发?
  • 软件工程-图书管理系统的需求分析
  • 天地图使用
  • WPF MVVM如何在ViewModel直接操作控件对象
  • 详细解说一下Python中的递归和基例
  • JVM面试(二)内存区域划分
  • 在MySQL存储过程中,以下句子需要以分号(;)结尾
  • 后台框架-统一数据格式
  • 网站建设完成后, 做seo必须知道的专业知识之--蜘蛛陷阱
  • 如何防范ddos 攻击
  • 二分查找精炼回顾-kevin
  • 在线压缩pdf,无需安装就可轻易压缩pdf文件
  • Axure RP下载+详细安装步骤资源百度云盘分享
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [译]前端离线指南(上)
  • centos安装java运行环境jdk+tomcat
  • const let
  • gitlab-ci配置详解(一)
  • Go 语言编译器的 //go: 详解
  • IDEA常用插件整理
  • JavaScript设计模式之工厂模式
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 对象管理器(defineProperty)学习笔记
  • 给github项目添加CI badge
  • 简析gRPC client 连接管理
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 手写一个CommonJS打包工具(一)
  • 微服务核心架构梳理
  • 消息队列系列二(IOT中消息队列的应用)
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 智能网联汽车信息安全
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 回归生活:清理微信公众号
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (02)Unity使用在线AI大模型(调用Python)
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (Note)C++中的继承方式
  • (TOJ2804)Even? Odd?
  • (含笔试题)深度解析数据在内存中的存储
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)stm32之通信协议
  • (算法)Game
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转载)Google Chrome调试JS
  • .NET C# 使用GDAL读取FileGDB要素类
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈