第四章 Kubernetes进阶之深入理解Pod

  Pod

  • 最小部署单元
  • 一组容器的组合
  • 一个Pod中容器共享网络命名空间
  • Pod是短暂的

  Pod容器分类

  Infrastructure Container 基础容器

    维护整个Pod网络空间

  InitContainers 初始化容器

    先于业务容器运行

  Container 业务容器

    并行启动

  镜像拉取策略

  • IfNotPresent:默认值,镜像在宿主机上不存在时才拉取
  • Alway:每次创建Pod都会拉取一次镜像
  • Never:Pod永远不会拉取这个镜像

  查看默认镜像拉取参数是否是IfNotPresent

kubectl get deploy/nginx-deployment -o yaml

  没有认证的公共镜像仓库可以直接拉取,搭建私有镜像仓库Habor

  本次搭建的主机为192.168.1.61,之前使用改主机搭建了nginx+keepalived为了不冲突需要关闭该主机的nginx即使用192.168.1.62来产生VIP192.168.1.60

  搭建参考

  https://www.cnblogs.com/minseo/p/8905736.html

  登录Harbor创建一个私有项目project

  默认用户名:admin 密码:Habor123456

  私有仓库需要登录才能下载,Harbor不是http提供访问,需要在node 192.168.1.65 192.168.1.66配置可信任

# cat /etc/docker/daemon.json
{
          "registry-mirrors": ["https://7sl94zzz.mirror.aliyuncs.com"],
          "insecure-registries": ["192.168.1.61"]
}

  node上面登录,输入用户名和密码

docker login 192.168.1.61

  查看该node已有的镜像

docker images

  下载一个tomcat镜像用于推送测试

docker pull tomcat

  下载完毕打tag

docker tag tomcat 192.168.1.61/project/tomcat

  查看

  推送至harbor私有仓库

docker push 192.168.1.61/project/tomcat

  推送成功在harbor上可以看到

  排错,推送是出现提示,查看haabor该项目是否创建

requested access to the resource is denied

  在另外一台node上拉取该镜像

docker pull 192.168.1.61/project/tomcat

  PS:需要在该node节点至少登录过一次才能下载,否则会出现如下提示

 docker pull 192.168.1.61/project/tomcat
Using default tag: latest
Error response from daemon: pull access denied for 192.168.1.61/project/tomcat, repository does not exist or may require ‘docker login‘: denied: requested access to the resource is denied

原文地址:https://www.cnblogs.com/minseo/p/12411241.html

时间: 2024-08-30 16:48:53

第四章 Kubernetes进阶之深入理解Pod的相关文章

kubernetes概述之深入理解pod对象

一.深入理解Pod对象 1.Pod容器的分类 Pod的概念: 最小部署单元 一组容器的集合 一个Pod中的容器共享网络命名空间 Pod是短暂的 Pod的容器分类: Infrastructure Container:基础容器 -- 维护整个Pod的网络空间 一般这里的pause镜像的作用就是维护pod的网络空间 InitContainers:初始化容器 -- 先与业务容器开始执行 Containers:业务容器 -- 并行启动 2.镜像拉取策略 IfNotPresent:默认值,镜像在宿主机上不存

爬虫学习之第四章爬虫进阶之多线程爬虫

多线程爬虫 有些时候,比如下载图片,因为下载图片是一个耗时的操作.如果采用之前那种同步的方式下载.那效率肯会特别慢.这时候我们就可以考虑使用多线程的方式来下载图片. 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率.线程是在同一时间需要完成多项任务的时候实现的.最简单的比喻多线程就像火车的每一节车厢,而进程则是火车.车厢离开火车是无法跑动的,同理火车也可以有多节车厢.多线程的出现就是为了提高效率.同时它的出现也带来了一些问题.更多介绍请参考:https://bai

第五章 Kubernetes进阶之Service与外界连通

1.Pod与Service的关系 Pod出现故障以后Deployment会根据策略重启Pod,但是重启Pod会生成新的IP,需要引入Service概念保证访问正常 Service 防止Pod失联 定义一组Pod访问策略 支持ClusterIP,NodePort以及LoadBanlancer三种类型 Service的底层主要有Iptables和IPVS两种网络模式 2.Service的定义 Pod与Service的关系 通过label-selector相关联 通过Service实现Pod的负载均衡

第四章爬虫进阶之动态网页数据抓取

动态网页数据抓取 什么是AJAX: AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML.过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面.因为传统的在传输数据格式方面,使用的是XML语法.因此叫做AJAX,其实现在数据交互基本上都是使用JSON.使用AJAX加载的数据,即使使用了JS,将数

kubernetes进阶(01)pod

前言 本文是读书笔记,具体可参考 倪朋飞 先生的原文<kubernetes指南>,多谢原作者,致敬! Pod Pod是在K8s集群中运行部署应用或服务的最小单元,支持多个容器在一个Pod中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务. 比如: 运行一个操作系统发行版的软件仓库:使用一个Nginx容器用来发布软件,另一个容器专门用来从源仓库做同步,这两个容器的镜像不太可能是一个团队开发的,但是他们一块儿工作才能提供一个微服务: 这种情况下,不同的团队各自开发

第四章感想

     通过对第四章的深入阅读与理解,我了解到其主要讲下载编译和测试Android的源代码.配置Android源代码下载环境,首先要创建一个用于存放下载脚本文件(repo)的目录,并进行下载repo脚本文件(用于下载android源代码)之后创建用于存放android源代码的目录.进行源代码的初始化.然后要了解Android源代码目录结构解析, 然后下载Android源代码中的一部分,它有两种方法:方法一:使用repo sync命令:#repo sync platform/bootable/r

&lt;深入理解C指针&gt;学习笔记和总结 第四章 指针和数组

数组是一个什么玩意: 数组和指针我的理解,有相同之处也有不同之处.因有相同之处,因此一些资料上说,数组和指针本质是相同的.因有不同之处,因此也有一些资料上说,数组和指针是不一样的. 相同之处: 数组名字和指针名字都代表了一个地址. 如:int num[10];num是数组名.函数开辟了一个存储十个整数类型的空间,而num是他们的首地址. int *p; p=(int *)malloc(10*sizeof(int));类似的,p也指向了首地址. 不同之处是,num[10]中的空间位置是在栈中,而

第四章 指针 Pointer(进阶)

第四章 指针 pointer(进阶) 那么我们这次的课程就是学习如何的实现pointer怎么使用pointer. 我们已经知道在pseudo-code如何的declare一个pointer. Integer myNum refToInteger myNumPtr In C++ int myNum; int *myNumPtr; Suppose X is any type. Pseudocode: declare a pointer named ptr using refToX ptr C++: 

《深入理解计算机系统》第四章 处理器体系结构

<深入理解计算机系统>第四章 处理器体系结构 我们看到的计算机系统都只限于机器语言程序级.处理器执行一系列指令每天指令执行某个简单操作,它们被编码为由一个或多个字节序列组成的二进制格式.在本章的学习中,我们主要了解ISA抽象的作用以及了解流水线和实现方式. 4.1 Y86-64指令集体系结构 字节序列转换为Y86-64指令的方法总结如下: 通过代码部分确定指令长度,从而以指令为单位划分字节序列: 通过功能部分确定具体的指令: 通过寄存器指示符字节确定指令中涉及的寄存器: 通过转换数值部分以小段