说明

要说最简单的安装方法肯定是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 感谢!

CI/CD(五)Flink 应用部署

环境 代码托管:gitlab CI:tekton CD: tekton pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:K8S Flink 应用需要解决的是任务的灵活增...

阅读全文

CI/CD(四)VM 应用部署

环境 代码托管:gitlab CI:tekton CD: 代码自实现多批次部署 pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:ECS(ESS) 应用部署在弹性...

阅读全文

CI/CD(三)GPU 应用部署(k8s)

环境 代码托管:gitlab CI:tekton CD: ArgoCD pipline/task: 阿里云 serverless容器(spot实例且按秒计费) 应用:k8s GPU应用的特殊性在于单个镜像的大小在...

阅读全文

欢迎留言