说明

要说最简单的安装方法肯定是yum install kubernetes命令完成Kubernetes集群的安装,但是这种方式安装后需要修改各组件的启动参数才能完成Kubernetes集群的配置,整个过程是比较复杂的,也容易出错,因此从Kubernetes v1.4版本开始引入了命令行工具kubeadm,致力于简化集群的安装和解决Kubernetes集群的高可用问题。

环境要求

软硬件: 4 Core/16 GB(Master),Node根据需要运行的容器数数量进行配置
OS:基于x86_64架构的各种Linux发行版本,包括RHEL、CentOS、Fedora、Ubuntu等,Kernel应在3.10及以上

初始配置

关闭selinux和firewall

停用swap

vim /etc/fstab

重启系统

在系统重启完成后确认以上设置

安装kubeadm和相关工具

配置yum源

官方源的地址是http://yum.kubernetes.io/repos/kubernetes-el7-x86_64,国内无法访问,因为使用了国内阿里的yum源https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64。

安装

启动服务

安装Kubernetes群集

下载相关镜像

结合自己安装的kubeadm版本到kubeadm的官方网站上去查看对应的镜像版本,kubeadm官方地址https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/按“Ctrl + f”搜索“internet”,会看到这样一张表,不过也要结合自己当前已经安装的kubelet的版本来看,kube-apiserver、kube-scheduler、kube-controller、kube-controller-manager、kube-proxy这几个kubernetes组件的版本要跟已安装的kubelet的版本保持一致

由于默认是从gcr.io进行下载的,国内无法访问gcr.io的网络环境,不过docker hub上有google mirror可以使用,地址为https://hub.docker.com/r/mirrorgooglecontainers/
手动下载Kubernetes的相关镜像后将镜像名改为k8s.gcr.io开头的名字,以供kubeadm使用。

查看kubelet版本

运行kubeadm init安装Master

等待一段时间后,Kubernetes Master节点安装成功,显示如下信息:

按照提示,执行下面的命令复制配置文件到普通用户的home目录下:

除了上面的配置信息外,这里有一个非常重要的信息,node节点加入群集时的认证信息,注意token的时效只有24个小时

token管理

查看token信息

创建新的token

创建一个永不过期的token

获取token hash

除了上面的token外,node在加入集群时还需要master的token hash值 ,采用的是sha256算法

利用ca证书,计算



如果想赏钱,可以用微信扫描下面的二维码,一来能刺激我写博客的欲望,二来好维护云主机的费用; 另外再次标注博客原地址 itnotebooks.com 感谢!

Golang Terraform 创建阿里云ECS云主机

封装NewTerraform方法 将Terraform的环境相关信息都在这个方法内定义完成 1. Terraform工作目录定义 2. Plugins初始化,考虑到在线初始化太慢,这里是提前下...

阅读全文

Golang text/template 渲染terraform文件

定义模板 这里定义的是阿里云的ECS,考虑通用性,未使用扩展模块,而是使用了循环生成的方式提高灵活性,所以传入的是一个列表 range . 对于当前这个模板来说...

阅读全文

Golang 钉钉企业聊天机器人

定义钉钉企业机器人回调数据模型 用于接收钉钉企业机器人回掉时使用的数据 Go type ATUser struct { DingtalkId string `jso...

阅读全文

欢迎留言