Kubernetes介绍

  • 参考:Kubernetes核心组件解析
  • Pod是k8s的最小调度单元
  • 每个pod有独立的IP,但是pod的IP是不可靠的,重新调度pod就会改变IP,service概念就是为了解决这些问题。
  • 给service会分配虚拟IP即ClusterIP,通过ClusterIP和端口,访问会自动负载均衡到后端的pod上。
  • 目前k8s提供两种负载均衡策略:RoundRobin和SessionAffinity。
    • RoundRobin:轮询模式
    • SessionAffinity:基于客户端IP的会话保持
  • 也可以通过Headless Service的概念,不设置ClusterIP只给出后端Pod列表,由用户自己选择。
  • service也可以不绑定选择pod,单独定义Endpoints类型的资源来提供服务。即可实现跨namespace的服务访问。
  • Pod和Service都是集群内的虚拟概念,包括IP等信息。故集群外部无法访问Pod或Service,可以将端口映射到宿主机实现访问。

    基本资源类型

  • Kubernetes中StatefulSet介绍
  • Kubernetes中的亲和性与反亲和性对应于pod调度到那些node节点上。
  • Kubernetes1.3新特性:POD中的初始化容器,该文介绍了初始化容器的类结构,及相关特性。
    • 下文基于kubernetes 1.5.2版本编写
    • 概念:Init Container就是做初始化工作的容器。可以有一个或多个,如果有多个,这些 Init Container 按照定义的顺序依次执行,只有所有的InitContainer 执行完后,主容器才启动。由于一个Pod里的存储卷是共享的,所以 Init Container 里产生的数据可以被主容器使用到。
    • Init Container可以在多种K8S资源里被使用到如Deployment、DaemonSet, PetSet/StatefulSet、Job等,但归根结底都是在Pod启动时,在主容器启动前执行,做初始化工作。
  • k8s init-Containers,该文使用的k8s版本是1.9
  • 官方关于init-containers的说明:Init Containers

    cron Job类型

  • 该文更新,参考:Kubernetes中的Job和CronJob,批量任务执行
  • 该文老旧,不宜参考。参考:Kubernetes的Cron Job定时任务小试

k8s系列0--Kubernetes基础知识的更多相关文章

  1. Spring Ioc源码分析系列--Ioc的基础知识准备

    Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...

  2. Vue 2.0入门基础知识之全局API

    3.全局API 3-1. Vue.directive 自定义指令 Vue.directive用于自定义全局的指令 实例如下: <body> <div id="app&quo ...

  3. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  4. kubernetes 基础知识

    1. kubernetes 包含几个组件 Kubernetes是什么:针对容器编排的一种分布式架构,是自动化容器操作的开源平台. 服务发现.内建负载均衡.强大的故障发现和自我修复机制.服务滚动升级和在 ...

  5. .NET面试题系列[3] - C# 基础知识(1)

    1 类型基础 面试出现频率:基本上肯定出现 重要程度:10/10,身家性命般重要.通常这也是各种招聘工作的第一个要求,即“熟悉C#”的一部分.连这部分都不清楚的人,可以说根本不知道自己每天都在干什么. ...

  6. 前端系列之CSS基础知识概述

    1.什么是DIV (1).div就是html一个普通标签,进行区域划分.特性:独自占一行.独自不能实现复杂效果.必须结合css样式进行渲染. (2).div通常其是块级元素 (3).div是定义文档中 ...

  7. kubernetes基础知识:限制POD和容器运行的CPU、内存

    限制运行内存 https://kubernetes.io/docs/tasks/configure-pod-container/assign-memory-resource/ 先看一个pod的yaml ...

  8. Objective-C系列总结之基础知识

    //第一个程序示例 #import <Foundation/Foundation.h> int main(int argc,const char * argv[]) { @autorele ...

  9. 学习OpenStack之 (0):基础知识

    vi 方向键出现字母问题解决方法 执行命令 sudo apt-get remove vim-common 执行命令 sudo apt-get install vim 鼠标被virtualbox捕获无法 ...

  10. JavaScript大杂烩0 - WEB基础知识

    1. 协议小结:HTTP协议与TCP/IP协议 现代Web应用开发的基础是HTTP协议,那么HTTP协议与我们熟知的TCP/IP协议有什么关系呢? 这个要从网络通信模型说起,简单的说,计算机通信就像两 ...

随机推荐

  1. LeetCode 第 150 场周赛

    一.拼写单词(LeetCode-1160) 1.1 题目描述 1.2 解题思路 由于给定的chars,每个字母只能用一次,所以用大小为26的数组charsArray来表示a-z(例如charsArra ...

  2. Linux 系统配置IPv6

    1.自动获取IPV6地址 1)修改/etc/sysconfig/network文件,修改如下字段,不存在则手动添加,部分系统默认是开启的NETWORKING_IPV6=yes 2)修改/etc/sys ...

  3. union all 和 union 的 区别

    https://www.cnblogs.com/wen-zi/p/9133754.html 主要: Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All:对 ...

  4. Oracle scope中 spfile、memory、both 的区别

    Oracle里面有个叫做spfile的东西,就是动态参数文件,里面设置了Oracle 的各种参数. 所谓的动态,就是说你可以在不关闭数据库的情况下,更改数据库参数,记录在spfile里面. 更改参数的 ...

  5. Thrift: Scalable Cross-Language Services Implementation

    http://thrift.apache.org/static/files/thrift-20070401.pdf

  6. osg::PagedLOD example

    int main() { osg::ref_ptr<osgViewer::Viewer> viewer1 = new osgViewer::Viewer; osg::ref_ptr< ...

  7. Civil 3D百度云地址

    Civil 3D 2018百度云地址 https://pan.baidu.com/s/1edeVhG Civil 3D 2019注册机百度云地址 链接: https://pan.baidu.com/s ...

  8. mysql 1577、1548错误 解决方案

    mysql 1577.1548错误 解决方案 1.mysql版本: 5.5.12 2.问题原因: 使用Navicat导出数据库的提示 :1577 – Cannot proceed because sy ...

  9. python之socket编程(一)

    socket之前我们先来熟悉回忆几个知识点. OSI七层模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标 ...

  10. iOS摄像头和相册(转)

    iOS摄像头和相册iOS 获取图片有三种方法1. 直接调用摄像头拍照 2. 从相册中选择 3. 从图库中选择 UIImagePickerController 是系统提供的用来获取图片和视频的接口: 用 ...