一、kubernetes(简称k8s)

集群示意图

Kubernetes工作模式server-client,Kubenetes Master提供集中化管理Minions。部署1台Kubernetes Master节点和4台Minion节点。

Kubernetes集群组件:
  - etcd 一个高可用的K/V键值对存储和服务发现系统
  - flannel 实现夸主机的容器网络的通信
  - kube-apiserver 提供kubernetes集群的API调用
  - kube-controller-manager 确保集群服务
  - kube-scheduler 调度容器,分配到Node
  - kubelet 在Node节点上按照配置文件中定义的容器规格启动容器
  - kube-proxy 提供网络代理服务

二、实践

1、创建四台集群需要的环境

1.1docker安装

yum install -y docker    #yum 安装
docker version   #查看版本

1.1或者

1.安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装 Docker-CE
重建 Yum 缓存。安装 Docker-CE ,请执行一下命令进行安装:
sudo yum install docker-ce
4.启动 Docker-CE
sudo systemctl enable docker
sudo systemctl start docker

  

1.2 centos镜像-Centos7安装

// 下载镜像
#docker run --privileged -itd --name centos --restart=always centos:7 /usr/sbin/init # docker pull centos 我用centos:7 -privileged 指定容器是否是特权容器。这里开启特权模式。
-it 启动互动模式。
--restart=always是随着docker启动
/usr/sbin/init 初始容器里的CENTOS。

  

1.3创建镜像

// 创建容器 (系统会给这个容器分配一个默认的名字)
docker run -itd --name=master -p 8001:8001 centos:7
docker run -itd --name=node1 -p 8002:8002 centos:7
docker run -itd --name=node2 -p 8003:8003 centos:7
docker run -itd --name=node3 -p 8004:8004 centos:7
docker run -itd --name=node4 -p 8005:8005 centos:7

  

1.4查看

  

1.数据卷
Pod中的容器之间共享数据或者持久化数据,可以使用数据卷。 2.应用程序健康检查
容器内服务可能进程堵塞无法处理请求,可以设置监控健康检查策略保证应用的健壮性。(默认情况下只保证容器本身正常,不会对应该程序状态检测) 3.复制应用程序实例
控制器维护Pod副本的数量,保证一个Pod或一组同类的Pod数量始终可用。 4.弹性伸缩
根据设定的指标(CPU利用率)自动缩放Pod副本数。 5.服务发现
使用环境变量或DNS服务插件保证容器中程序发现Pod入口的访问地址。 6.复制均衡
一组Pod副本分配一个使用的机器IP地址,负载均衡转发请求到后端容器。在集群内部其他Pod可以通过这个ClusterIP访问应用。 7.滚动更新
更新服务不中断,一次更新一个Pod,而不是同时删除整个服务 8.服务编排
通过文件描述部署服务,使得应用程序部署变得更有效。 9.资源监控
Node节点组件集成cAdvisor资源收集工具,可以通过Heapster汇总整个集群节点资源数据,然后存储到IfluxDB时序数据库中,再由Grafana展示。 10.提供认证和授权
支持属性访问控制(ABAC)、角色访问控制(RBAC)认证授权策略 

  

												

二、kubernetes的更多相关文章

  1. (二)Kubernetes kubeadm部署k8s集群

    kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理 ...

  2. (十二)Kubernetes 认证、授权与准入控制

    访问控制概述 API Server作为Kubernetes集群系统的网关,是访问和管理资源对象的唯一入口:包括kube-controller-manager.kube-scheduler.kubele ...

  3. 001.Kubernetes简介

    一 Kubernetes概述 Kubernetes是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker ...

  4. kubernetes核心组件kube-proxy 学习总结

    一.  kube-proxy 和 service  kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重 ...

  5. kubernetes基本概念和术语

    一. kubernetes是什么 kubernetes是一个全新得基于容器技术得分布式架构领先方案.是google Borg得一个开源版本.Borg是google得一个久负盛名得内部使用得大规模集群管 ...

  6. Kubernetes --- 详细介绍和架构详解

    Kubernetes是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构 目录 一. Kubernetes用途 二. Kubernetes特点 三. ...

  7. kubernetes核心组件kube-proxy - 运维笔记

    一.  kube-proxy 和 service  kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重 ...

  8. kubernetes核心组件kube-proxy

    一.  kube-proxy 和 service  kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重 ...

  9. 028.核心组件-API Server

    一 Kubernetes API Server原理 1.1 API Server功能 Kubernetes API Server的核心功能是提供Kubernetes各类资源对象(如Pod.RC.Ser ...

  10. 038.集群网络-K8S网络实现

    一 Kubernetes网络实现 1.1 Kubernetes网络优势 在实际的业务场景中,业务组件之间的关系十分复杂,微服务的理念更是让应用部署的粒度更加细小和灵活.为了支持业务应用组件的通信,Ku ...

随机推荐

  1. pytorch torch.Storage学习

    tensor分为头信息区(Tensor)和存储区(Storage) 信息区主要保存着tensor的形状(size).步长(stride).数据类型(type)等信息,而真正的数据则保存成连续数组,存储 ...

  2. 封装HttpUrlConnection开箱即用

    因为经常用到 便写出来方边使用 直接复制本类即可 import java.io.*; import java.net.HttpURLConnection; import java.net.URL; i ...

  3. Spring MVC+ Spring + Mybatis从零开始搭建一个精美且实用的管理后台

    点击进入<SSM搭建精美实用的管理系统>达人课页面 SSM 框架即 SpringMVC+Spring+Mybatis,相信各位朋友在投递简历时已直观感受到它的重要性,JavaWeb 相关工 ...

  4. 【JS复习笔记】03 继承(从ES5到ES6)

    前言 很久以前学习<Javascript语言精粹>时,写过一个关于js的系列学习笔记. 最近又跟别人讲什么原型和继承什么的,发现这些记忆有些模糊了,然后回头看自己这篇文章,觉得几年前的学习 ...

  5. rabbitMQ教程(五)rabbitmq 指令 以及解决web管理界面无法使用guest用户登录

    安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的release文档后,得知由于账号gues ...

  6. docker安装并修改Nginx镜像

    1.安装nginx镜像,命令:docker pull nginx 2.创建nginx容器,并启动,命令:docker run --name webserver -d -p 192.168.51.227 ...

  7. stl stack用法

    栈后进先出 #include<iostream> #include<algorithm> #include<cstdio> #include<stack> ...

  8. 使用C# HttpWebRequest进行多线程网页提交。Async httpclient/HttpWebRequest实现批量任务的发布及异步提交和超时取消

    使用线程池并发处理request请求及错误重试,使用委托处理UI界面输出. http://www.cnblogs.com/Charltsing/p/httpwebrequest.html for (i ...

  9. iOS- 利用AFNetworking(AFN) - 实现文件断点下载

    https://www.cnblogs.com/qingche/p/3500746.html 1. 定义一个全局的AFHttpClient:包含有 1> baseURL 2> 请求 3&g ...

  10. Django中CBV的执行顺序之源码解析

    浅析Django中的CBV的执行顺序 下图为CBV方式的执行顺序,大概执行流程如下: 其中浅蓝色为在假设自己写的类,即Test类中没有dispatch方法的情况下的执行顺序,当自己的类中有dispat ...