1 API Server 1.1 提供集群管理的API接口 API Server在kubernetes中的进程名为apiserver,运行在Master节点上 apiserver开放两个端口 本地端口,默认8080 安全端口,默认6443,接受Https,用于基于Token以及策略的授权 Kubectl Proxy作为API Server的反向代理,也能作为普通客户端访问API Server 命令行工具kubectl用来将API Server的API包装成建档的命令集 1.2 成为集群内各个功能…
1 Kubernetes网络模型 基本原则:每个Pod都拥有一个独立IP,而且假定所有Pod都在一个可以直接连通的.扁平的网络空间中. 基于基本原则,用户不需要额外考虑如何建立Pod之间的连接,也不需要考虑容器端口映射到主机端口等问题 同一个Pod内部的所有容器共享一个网络堆栈即网络命名空间,Pod内的所有容器的端口是共享的 Kubernetes对集群网络要求: 所有容器都可以在不用NAT的方式下同别的容器通信 所有节点都可以在不用NAT的方式下同所有容器通信,反之亦然 容器的地址和别人看到的地…
1 Kubelet运行机制 Kubenetes集群中的每个Node节点都会启动一个Kubelet服务进程用于处理Master下发到该节点的任务,管理Pod及其中的容器 Kubelet进程在API Server上注册信息,定期向Master节点汇报Node资源情况,并通过cAdvise监控容器和节点资源 1.1 节点管理 Kubelet进程在启动时设置参数--register-node=true设置向APIServer主动注册节点信息 当设置非自动注册时,需要配置Node的资源信息以及给Kubel…
1 Hello World 1.1 概述 搭建一个Web留言板应用,采用PHP+Redis. Redis由一个master提供写和两个slave提供读. PHP构成的前端Web层由三个实例构成集群,访问时进行负载均衡. 提供三个docker镜像 redis-master:写的redis redis-slave:读的redis php-fronted:PHP Web服务 1.2 创建redis-master Pod和服务 为redis-master创建一个RC yaml文件 apiVersion:…
https://blog.csdn.net/keysilence1/article/details/70239717 概念 Kubernetes是谷歌严格保密十几年的秘密武器——Borg的一个开源版本,是Docker分布式系统解决方案. 名词 Borg Borg是谷歌内部使用的大规模集群管理系统,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化: Endpoint(IP+Port) 标识服务进程的访问点: Master 集群控制节点,负责整个集群的管理和控制,基本…
1: etcd是干什么的: 键-值存储仓库,用来配置共享和服务发现. k8s把Node, pod,replication controller, Services看做是资源对象,这些资源对象可以通过K8s提供的kubectl工具进行增.删.改.查等操作将其保存在etcd中持久化存储.K8s相当于一个自动化的资源控制系统,通过跟踪对比etcd库里保存的‘资源期望状态’和“实际资源状态”的差异来实现自动控制和自动纠错的高级功能. 2:Master: k8s的集群控制节点,K8s所有控制命令都发给它,…
Kubernetes是什么 官网 https://kubernetes.io/ 中文版:https://kubernetes.io/zh/ Kubernetes是谷歌十几年大规模容器管理经验的成果 是Borg的一个开源版本 基于容器技术的分布式架构方案 Service简介 Kubernetes以Service为核心,Service有如下特征 唯一名称 拥有一个虚拟ip和端口 提供某种远程服务能力 被映射到提供这种服务能力的一组容器应用上 Pod简介 Pod运行在Node主机中 Pod是Kuber…
1 Node的隔离和恢复 方法1: 创建新的Node配置文件指定spec.unschedulable: true 通过kubectl replace完成对Node的状态修改 kubectl replace -f xxx.yaml 此时Node的状态增加一项SchedulingDisabled,后续创建Pod将不会对该Node进行调度 方法2: kubectl patch node name -p '{"spec":{"unschedulable":true}}' 将…
1 RC文件介绍: kind: ReplicationController,表示是一个RC: spec.selector:  RC的Pod标签(Label)选择器,监控和管理拥有这些标签的Pod实例,确保                   spec.replicas个实例在运行.当运行的实例小于这个数,会安装spec.template 定义的Pod模板生成新的实例. (注意,spec.template.metadata.labels指定了Pod的标签,这里的labels必须匹配之前 的spec…
1: 安装VirtualBox, 并下载CentOS-7-x86_64-DVD-1708.iso, 安装centOS7,具体过程可以百度. 2:开启centOS的SSH, 步骤如下: (1) yum list installed | grep openssh-server查看是否已经安装了SSH,如果没有安装则输入yum install openssh-server (2)vim  /etc/ssh/sshd_config, 打开监听端口和监听地址: 允许远程登录: 开启使用用户名密码来作为连接…