K8s简介
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。

使用Kubernetes可以
  自动化容器的部署和复制
  随时扩展或收缩容器规模
  将容器组织成组,并且提供容器间的负载均衡
  很容易地升级应用程序容器的新版本
  提供容器弹性,如果容器失效就替换它,等等…

Kubernetes解决的问题:
  调度 - 容器应该在哪个机器上运行
  生命周期和健康状况 - 容器在无错的条件下运行
  服务发现 - 容器在哪,怎样与它通信
  监控 - 容器是否运行正常
  认证 - 谁能访问容器
  容器聚合 - 如何将多个容器合并成一个工程

Kubernetes组件:

kubectl---客户端命令行工具,将接受的命令格式化后发送给kube-apiserver,作为整个系统的操作入口。
 
kube-apiserver---作为整个系统的控制入口,以REST API服务提供接口。
 
kube-controller-manager---用来执行整个系统中的后台任务,包括节点状态状况、Pod个数、Pods和Service的关联等。
 
kube-scheduler---负责节点资源管理,接受来自kube-apiserver创建Pods任务,并分配到某个节点。
 
etcd---负责节点间的服务发现和配置共享。
 
kube-proxy---运行在每个计算节点上,负责Pod网络代理。定时从etcd获取到service信息来做相应的策略。

kubelet---运行在每个计算节点上,作为agent,接受分配该节点的Pods任务及管理容器,周期性获取容器状态,反馈给kube-apiserver。
 
DNS----一个可选的DNS服务,用于为每个Service对象创建DNS记录,这样所有的Pod就可以通过DNS访问服务了。

flannel--------docker的网络解决方案,让集群中不同节点主机创建的docker都具备集群唯一的vip,使docker之间进行互联。

k8s部署环境-------

四台搭载centos7或者redhat7的服务器,关闭selinux和iptables,设置好本地dns解析(hosts),时间一定要同步,最好搭建一台ntp服务器。

k8s-master--192.168.4.132

k8s-have1--192.168.4.133

k8s-have2--192.168.4.134

k8s-have3--192.168.4.135

安装k8s----------(master端和have端安装的都差不多,就有两个包不同)

[root@k8s-master ~]# yum -y install etcd docker kubernetes

[root@k8s-have1 ~]# yum -y install docker kubernetes flannel

[root@k8s-have2 ~]# yum -y install docker kubernetes flannel

[root@k8s-have3 ~]# yum -y install docker kubernetes flannel

更改配置文件(master端)

etcd配置文件---

[root@k8s-master ~]# vim /etc/etcd/etcd.conf

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"(etcd监听的哪些地址,0.0.0.0代表全网地址)

ETCD_NAME="default"(名字默认)

ETCD_ADVERTISE_CLIENT_URLS="http://localhosti:2379"(对外宣告的地址,为本机的地址)

config文件---------

[root@k8s-master ~]# vim /etc/kubernetes/config

KUBE_MASTER="--master=http://k8s-master:8080"(对外宣告的地址)

kubernetes配置文件--------

[root@k8s-master ~]# vim /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"(0.0.0.0 监听任意地址)
KUBE_API_PORT="--port=8080"(监听8080端口,默认注释的,要开启)
KUBE_ADMISSION_CONTROL="--admission--control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"(把serviceaccount这个系统用户删除)

更改配置后重启所有服务并设置开机自启,查看运行状态-------

systemctl restart  etcd docker kube-apiserver kube-controller-manager kube-scheduler

systemctl enable etcd docker kube-apiserver kube-controller-manager kube-scheduler

systemctl status etcd docker kube-apiserver kube-controller-manager kube-scheduler

etcd中配置flannel的配置---------------

[root@k8s-master ~]# etcdctl mk /atomic.io/network/config '{"Network":172.17.0.0/16}' {"Network":"172.17.0.0/16"}

k8s(未完待续)的更多相关文章

  1. javascript有用小功能总结(未完待续)

    1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...

  2. ASP.NET MVC 系列随笔汇总[未完待续……]

    ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...

  3. 关于DOM的一些总结(未完待续......)

    DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...

  4. 我的SQL总结---未完待续

    我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...

  5. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  6. MVC丶 (未完待续······)

         希望你看了此小随 可以实现自己的MVC框架     也祝所有的程序员身体健康一切安好                                                     ...

  7. 一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  8. [python]爬代理ip v2.0(未完待续)

    爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...

  9. IOS之KVC和KVO(未完待续)

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  10. C++语言体系设计哲学的一些随想(未完待续)

    对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...

随机推荐

  1. JAVA的FileOutput/InputStream使用实例

    在JAVA中,要读写文件,要使用Stream这个东西. Stream简单来说,可以看做在程序和文件之间打开了一个管道,然后把数据通过这个管道输送到文件或程序中去. FileOutput/InputSt ...

  2. 使用K2时提示未能加载文件或程序集Microsoft.IdentityModel等

    转:http://www.cnblogs.com/dannyli/archive/2012/10/15/2724931.html K2安装成功后,打开workspace管理流程时报错如下图: 未能加载 ...

  3. vue简单路由(一)

    在项目中,将vue的单页面应用程序改为了多页面应用程序,因此在某些场景下,需要频繁的切换两个页面,因此考虑使用路由,这样会减少服务器请求. 使用vue-cli(vue脚手架)快速搭建一个项目的模板(w ...

  4. Ubuntu下&nbsp;Nfs服务器安装

    Ubuntu Nfs服务器安装 nfs服务器在嵌入式开发中非常常用,可以实现主机和开发板共享文件.     1.安装软件包     sudo apt-get install nfs-common nf ...

  5. TCP三次握手和释放

    TCP头部: 其中 ACK   SYN  序号  这三个部分在以下会用到,它们的介绍也在下面. 暂时需要的信息有: ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的A ...

  6. Android中dp、dpi与px的关系

    转自知乎用户的回答: 1. dpi是dot per inch,每英寸多少点,ppi是 Pixel per inch,每英寸像素数,针对显示器的设计时,dpi=ppi.ppi计算方法是长宽各自平方之和开 ...

  7. HTML5样式、链接和表格

    -------------------siwuxie095 HTML5 样式 1.标签 <style> 标签:样式定义 <link> 标签:资源引用 2.属性 rel:用于指定 ...

  8. 张超超OC基础回顾01_类的创建,申明属性,以及本质

    一. 类的声明和实现&规则 1.如何编写类的声明 以@interface开头 , 以@end结尾, 然后再class name对应的地方写上 事物名称, 也就是类名即可 注意: 类名的首字符必 ...

  9. msql 计算连续签到天数

    刚刚写了一个签到计算天数的sql, 记录下来. 思路如下: 获取当前签到的最后时间(今天或昨天), 定义一个变量@i 对签到时间进行天数自减, 然后查询出当前记录签到时间是否与自减后的时间匹配.   ...

  10. python文件处理os模块

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...