k8s(未完待续)
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(未完待续)的更多相关文章
- javascript有用小功能总结(未完待续)
1)javascript让页面标题滚动效果 代码如下: <title>您好,欢迎访问我的博客</title> <script type="text/javasc ...
- ASP.NET MVC 系列随笔汇总[未完待续……]
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...
- 关于DOM的一些总结(未完待续......)
DOM 实例1:购物车实例(数量,小计和总计的变化) 这里主要是如何获取页面元素的节点: document.getElementById("...") cocument.query ...
- 我的SQL总结---未完待续
我的SQL总结---未完待续 版权声明:本文为博主原创文章,未经博主允许不得转载. 总结: 主要的SQL 语句: 数据操作(select, insert, delete, update) 访问控制(g ...
- virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...
- MVC丶 (未完待续······)
希望你看了此小随 可以实现自己的MVC框架 也祝所有的程序员身体健康一切安好 ...
- 一篇文章让Oracle程序猿学会MySql【未完待续】
一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...
- [python]爬代理ip v2.0(未完待续)
爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...
- IOS之KVC和KVO(未完待续)
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- C++语言体系设计哲学的一些随想(未完待续)
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值.具体而言,需要: (1)定义数据类型 你定义的数据是什么,是整形还是浮点还是字符.该类型的数据可以包含的值的范围是什么. (2)定义操作的 ...
随机推荐
- mysql字符类型
字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和varchar括号内的参数指的都是字符的长度 #char类型:定 ...
- Flask之数据库迁徙
4.3 数据库迁移 在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库.最直接的方式就是删除旧表,但这样会丢失数据. 更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把 ...
- Hibenate错误汇总:java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger
转自:https://bioubiou.iteye.com/blog/1769950 1 Hibenate异常汇总:java.lang.NoClassDefFoundError: org/jboss/ ...
- Shell脚本 判断
#Linux系统Shell脚本判断变量文件目录:权限.是否存在.空值.相等 1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真str1 != str2 当串str1和str2不等时 ...
- (转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)
在安装mysql的时候,活活折腾我两天.结果终于被我折腾成功了……一开始我就放了个错误:我下了32位版本的mysql:mysql-5.5.8-osx10.6-x86.dmg 须知在mac下装的是64位 ...
- Jquery异步
一.Jquery向aspx页面请求数据$("#Button1").bind("click", function () { $.ajax({ type: &quo ...
- jQuery基础教程-第8章-002Adding jQuery object methods
一.Object method context 1.We have seen that adding global functions requires extending the jQuery ob ...
- swift基本运算
swift运算有单目运算,双目运算和三元运算 1:赋值操作 iX = iY//iX is 8 元组赋值 let (iX, iY = (, ) // iX is 8, iY is 7 和c语言不同的是, ...
- 杀毒软件 avg
http://filehippo.com/download_avg_antivirus_64 R studio: https://www.rstudio.com/products/rstudio/do ...
- A. Xor-tree
题目意思: 给一颗n个节点的树,每个节点有一个值要么是0要么是1,改变某个节点的值时,它的儿子不变,它儿子的儿子翻转,它儿子的儿子的儿子不变,如此类推.给定各个节点的目标值,求最少的翻转次数,使得达到 ...