docker集群管理之kubernetes
一、简介
kubernetes又叫做k8s,是Google开发的一款开源的docker集群管理工具,在这里对它的“发家史”,我不做过多的阐述,有时间大家可以自己去百度一下;
下面我要讲的就是容易混淆的部分(当然搭建的过程也会简单的阐述),我研究的就是一个单间的集群环境,如果大家想变成高可用的话,请百度^_^
二、集群的搭建
我使用的二进制包进行的安装,前提是需要去官网上下载二进制包,下载的包名称以及地址截图如下(下载那一个包就OK了):
部署分布如下:
manager | kube-apiserver、kube-controller-manager、kube-scheduler、etcd | 192.168.112.116 |
node1 | kubelet、kube-proxy | 192.168.112.117 |
node2 | kubelet、kube-proxy | 192.168.112.118 |
1、manager端的安装(kube-apiserver、kube-controller-manager、kube-scheduler、etcd)
kube-apiserver: 入口接口,node节点的kubelet和kube-proxy直接连接这个服务监听的IP和端口
kube-scheduler: 先看这个服务,它的作用是调度,顾名思义就是创建容器、删除容器时使用的
kube-controller-manager: 这个是管理服务,创建好容器之后,需要管理,就是它来做了
etcd: 你创建的容器或者其它的一些信息、数据、以及调度的信息都是存放在这个服务下的,你可以把它当做一个数据库
好了,基本的概念都懂了,那就开始安装吧!
我以kube-apiserver为例,其它的都是大同小异,最终服务用systemd去管理,我把二进制包和配置文件都放在了/opt/kubernetes/{bin,cfg}目录下了,请看截图:
2、node端的安装(kubelet、kube-proxy)
以kubelet为例,截图如下:
三、成功的标志
搭建成功之后,在manager端可以通过kubectl get node查看集群状态,截图如下:
四、易混淆点
先说k8s里面有几个名称概念,分别为rc、rs、deployment、pod、container;
pod: 它的作用是管理容器container
rc: 全称叫做Replication Controller;它的主要作用就是管理一组相关联的pod,意思就是说管理你在rc的yaml文件中定义的
replicas副本数量,也就是replicas个pod
rs: 全称叫做replica set,它是rc的升级版,主要就是升级了selector,可以以集合的形式书写
deployment: 它也是用以管理pod的,这个做的更改就比较大了,其中对我来说比较有用的是哪个回滚操作,对于rc来说,如果
部署完毕是没法回滚的,但是deployment缺可以;使用rollout undo去完成
五、日志和持久化
我感觉对于运维来说搭建好容器之后,容器里面的数据持久化和采集容器内的日志是两个点,采集日志的话,大家可以参考网上
的EFK实例,后期我也会搭建一套,到时候再写博客,持久化那块大家可以使用集中式存储,然后挂载到本地系统,运行容器的时候
加上-v再挂载到容器内部,当然了,k8s在运行pod的时候,就可以在yaml文件中加上这一项
六、给出一张最近研究的最近k8s架构图(后续会慢慢讲解)
七、几种service访问形式
八、总结
说到这里,想必大家对k8s应该有个概括性的认识了,可以确定的是,在企业中,k8s用到比较多,swarm集群管理基本上没有人用了
生产环境的话,我们需要搭建高可用、分布式的集群环境,这样才能保证安全性,后面有时间的话,我会研究一下k8s HA,跟大家一块再探讨!
docker集群管理之kubernetes的更多相关文章
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET
Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...
- Docker集群管理(一)—— 基础docker+swarm+shipyard
目的 学习docker的集群管理,摸索出高可用的docker微服务架构方案.本篇文章只初步的了解下swarm(docker新版已集成了swarm)的使用,了解docker的发现服务的基础方法(dock ...
- 基于zookeeper+mesos+marathon的docker集群管理平台
参考文档: mesos:http://mesos.apache.org/ mesosphere社区版:https://github.com/mesosphere/open-docs mesospher ...
- docker集群管理
docker集群管理 ps:docker machine docker swarm docker compose 在Docker Machine发布之前,你可能会遇到以下问题: ...
- centos7上基于kubernetes的docker集群管理
kubernetes和docker的作用这里就不作介绍了,直接进入主题. 本文的目的是搭建docker集群,并使用kubernetes管理它们. 文中的软件环境除了kubernetes和docker, ...
- Centos下安装Docker集群管理工具Shipyard
一. Docker Shipyard是什么 ? shipyard是一个开源的docker管理平台,其特性主要包括: 支持镜像管理.容器管理. 支持控制台命令 容器资源消耗监控 支持集群swarm,可以 ...
- Docker集群管理(三)—— docker swarm mode基础教程
docker从1.12版(及后续版本)集成了swarmkit.可以方便的实现docker集群.它有哪些特点呢: 集成了集群功能 分散设计:manager和worker两种节点. 声明式服务模式 可伸缩 ...
- Docker集群管理(二)—— docker+swarm+etcd+shipyard
引言 前一篇介绍如何简单的搭建一个可视化管理的docker集群,本篇将在此基础之上引入etcd发现服务. 目的 使用etcd发现服务解决swarm内置发现服务的不稳定问题.etcd采用raft算法,这 ...
随机推荐
- STL unique
1: template <class ForwardIterator> 2: ForwardIterator unique (ForwardIterator first, ForwardI ...
- 剑指offer第二版面试题2:数组中重复的数字(JAVA版)
题目:在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的.请找出数组中任意一个重复的数字,但是不能修改输入的数组.例如,如果输入长度为8的数组{2,3,5,4,3 ...
- shell提取rpm的报名
说明: rpm本身未安装,下面方法是基于rpm包文件实现提取rpm的包名 rpm -qpi ZXVEi-git0/CgsOS/abrt-2.1.11-48.el7.centos.x86_64.rpm ...
- 制作 U 盘启动盘
制作 U 盘启动盘 这篇文章说的是 U 盘启动盘是如何运作的,同时有一个既能装 Windows 又能装 Linux 的 U 盘启动盘的例子. U 盘启动盘 当按下开机键后,电脑能启动我原本安装的操作系 ...
- 如何在react中实现一个倒计时组件
倒计时组件 import React, { Component } from 'react' import $ from 'jquery' import "../../css/spellTE ...
- webpack 配置之入门一
webpack 是一个现代 Javascript 应用程序的模块打包器(module bundler ),它里面的功能比较多,核心模块可分为模块打包.代码分割与按需加载.这里只简单讲解下 webpac ...
- 我要多开梦幻手游PC端(梦幻手游PC端多开的简单分析及实现办法)(二)
上一篇,多开方法,适用于一年前的版本 http://www.cnblogs.com/suanguade/p/5646776.html 前言: 一转眼一年过去了,日子越来越无聊了,于是,准备再玩一玩梦幻 ...
- Java oop 第13章_多线程
第13章_多线程 一. 多线程相关的概念: 程序:由某种编程语言开发可执行某些功能的代码组合,它是静态的概念. 进程:当程序被执行时的过程可以理解为讲程序从外存调入内存的过程,会为每一个程序 ...
- docker Dcokerfile学习---构建nginx环境
1.创建项目目录并上传包 $ mkdir docker_nginx $ cd docker_nginx 下载nginx包 $ wget http://nginx.org/download/nginx- ...
- 45. Collection
因为Collection是接口我们不能直接实例化,所以我们下面的例子都是采用多态实例化实现类ArrayList类 1. Collection中常用方法 添加: add() 添加一个元素到集合中 ...