目前kubernetes 已经发展到1.5的时代,但在这之前学习和使用kubernetes还是走了不少弯路,第一个问题就是安装,也许你会说安装很简单。照着官网或网上抄一篇就可以装上了……
而我们使用kubernetes是1.1和1.2版本的时候,那时候最权威的文档应该就是kubernetes.io官网文档……,然而我们在官网进行问题检索的时候会出现(这张图来源网络)
这张图已经很明说明问题了……由于安装过程中的存在的问题,造成之后在使用过程中的一系列问题……
随着kubernetes的发展(目前已经到达1.5 beta版),和之前相比官方文档也已经更加完善。同时也出现了多种安装kuberntets的方法,在这么多种的安装法我们该如何选择呢?
今天为大家介绍5种安装方法
minikube
minikube 由 CoreOS 提供在单机上构件 kubernetes 集群。minikube命令可以运行在windows/linux/macos等平台,使用minikube搭建本地集群是非常方便的,同时minikube提供了完整的kubernetes集群的功能。对于初识者minikube是一种很好的安装方式,而且上手也非常快。但问题在于minikube安装的时候需要连接互联网,而且网络需要足够好……道理很简单。
这是官网使用minikube来启动kubernetes集群。有兴趣的可以查看github关于minikube的信息。
kubeadm
kubeadm 可以运行在物理机、虚拟机以及云主机,并且可以与chef或puppet配合可以完成自动化部署安装。kubeadm与minikube一样,你的网络要好,原因也很简单……
kubeadm 是 kubernetes 在1.4版推出安装 kubernetes 集群。目前还处于alpha,不建议在生产环境使用。本人在centos系统上安装测试时会出现无法连接到kubeadm所需要的yum源。即使按照官网配置了源也行出现无法下载源,最后是找到三方源才能顺利安装完成。在安装过程中可选的配置参数太少,所以基本都需要在使用过程中自行修改。
如图就是官方说明添加yum源,ubuntu没测试过。
hyperkube image
hyperkube images 由 Google 推出将 kubernetes 各组件以容器方式运行。容器可以有(docker/rkt等)。使用 hyperkube images 需要提前配置 kubelet 组件。最终通过kubelet将kubenetes部署各组件。这种安装方法的好处是:只要系统可运行容器,就可以通过hyperkube images 来运行kubernetes组件。
通过 hyperkube images 部署kubernetes组件,首先你的网络要好,原因很简单……或者你提前在本地准备好 hyperkube images 。
前面说过使用 hyperkube images 需要使用 kubelet 组件。运行kubelet组件可以有两种方法:docker和systemd。
通过设置kubelet 的–config目录。kubelet 会自动运行此目录中所添加的组件。在这里需要注意是,在kubernetes V1.3的版本,需要手动创建kube-system的namespace 而V1.4版本不需要配置。
docker
docker images 由 kubernetes 在发行版本中提供 docker images,并通过 docker images 运行 kubernetes 组件。所需要的镜像包在kubernetes-server-linux-amd64.tar.gz里。
SystemD
第五种方法通过SystemD来实现,这也是我们在生产和测试环境使用的方法。
Like it or not, systemd is here to stay.
看完上图也许我会明白systemd在系统中的重要做用。
在这之前,我们在Linux下使用容器你会发现,不能挑内核,不能加载内核模块,不能挂载文件系统,不能调整内核参数,不能改网络配置。如果你在运行容器时使用了 docker run –privileged 那我只能说祝你好运。
如果容器就是通过cgroups堆出来,那么容器本身的/sys /dev 和 /proc 存在隔离性的问题。
因此通systemd+selinux 来进行管理,而kubernetes只需要调用systemd就完成对于容器的管理。
因此我在基于systemdd在自的环境编写了安装kubernetes各组件的脚本。
安装脚本主要完成上图的安装和配置。
总结
个人推荐使用systemd的方式来远行kubenetes各组件。如果可以,可以使用rkt+systemd。
文中可能存在错误的地方欢迎大家指正。希望大家在安装kubernetes时少走弯路。谢谢!
普元云计算专区: http://primeton.csdn.net/m/zone/primeton/index#
http://www.tuicool.com/articles/ZzQJJzA
相关推荐
k8s 1.9 一键自动化安装部署脚本,自动完成部署,省时省力
本文档包含: 1、k8s最新版本1.24.3基于containerd搭建集群 2、集成buildkit、nerdctl工具构建...4、jenkins pipeline实现自动化发布流程 5、几乎所有的坑都在配置文件中得到避免,没有保留,直接提供k8s的配置文件使用
kubernetes/k8s自动安装程序,版本对应:v1.18.2,linux环境 使用kubeadm安装,改程序若环境不符合要求,是不能一键安装的,需按照程序指示分布安装,该程序是为了搭建测试环境时,简化繁琐的配置时所用,不能用作...
#资源达人分享计划#
花了50大洋买的kubernetes自动化安装脚本,可一键安装k8s集群,生产可用!
K8S集群自动化运维方案.docx
K8S容器云平台查询容器TOP真实使用情况工具之Topic,方面容器docker内部查询自己的top
k8s集群v1.18.1一键安装 博客地址:https://mp.csdn.net/mp_blog/creation/editor/126865214 百度云 链接:https://pan.baidu.com/s/1-ZuRxpGdL7mBnyOK2s_yCw 提取码:fr7r 执行setup_master.sh 安装 master-node...
01-k8s集群的安装.mp4 02-为什么要使用k8s.mp4 03-k8s的功能特性和基础架构.mp4 04-k8s的基础单元pod.mp4 k8s-day2 01-副本控制器rc.mp4 02-新副本控制器deployment.mp4 03-容器的网络访问service.mp4 04-tomcat-app...
利用jenkins,gitlab,构建自动化的代码发布流水线,并自动部署到k8s集群中。
容器集群k8s从入门到精通导学大纲资料.pdf
手把手打镜像并运行到k8s容器上(亲测可用) 博客地址:https://blog.csdn.net/qq_36963950/article/details/125036352 第一个示例:wordpress博客系统 第二个示例:自己写一个springboot项目生成镜像部署到K8S集群...
魅族容器云平台基于+k8s+的自动化运维实践,实践高于一切
针对于k8s的主节点!巡检!各个服务状态等等!还有系统版本,是不是与外网进行互通,非常实用!喜欢的可以试试 !
Pandora - 基于k8s的自动化发布部署工具
本文介绍VMware虚拟机下centos7操作系统中如何安装云原生 Kubernetes(k8s)集群、k8s可视化界面kuboard,以及如何利用docker容器化将springboot+vue项目在k8s集群中部署运行。
基于K8S自动化编排技术系统设计与实现 针对于当前市场中企业对应用软件搭建部署的需求,针对需求进行设计开发的多个用户可以使用web向导式使用k8s在平台上部署wordpress应用,可以简化部署的复杂度,简化部署一个博客...
k8s搭建Nacos集群,制作Nacos镜像 Nacos版本是:2.0.2
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 适用人群 零基础以及有一定运维...