linux服务器编程环境安装中的坑附加详细安装步骤(二)


因为文章太长了,所以博主分了三节来讲

七、服务器编排(集群开发)

Kubernetes

在安装Kubernetes集群的时候,博主真的是遇到了很多的坑,甚至一度怀疑人生
首先我们要知道安装集群都需要哪些东西

  1. kubelet
    运⾏于所有 Node上,负责启动容器和 Pod
  2. kubeadm
    负责初始化集群
  3. kubectl
    k8s命令⾏⼯具,通过其可以部署/管理应⽤以及CRUD各种资源

你以为到这就结束了?? No!No!No!!!

//它们还有一些依赖
conntrack-tools           
cri-tools                    
kubernetes-cni              
libnetfilter_cthelper  
libnetfilter_cttimeout    
libnetfilter_queue 

需要注意的是kubernetes-cni
这个接口坑了博主一下午,这个坑我们下面再说,我们先了解一下Kubernetes集群。

步骤

要形成集群就是要服务器直接可见,也就是暴露给外网
还要需要互相可以连接,所以我们要关闭防火墙还要关闭selinux

所有节点

关闭防火墙、关闭selinux
//禁用防火墙
systemctl disable firewalld.service 
//关闭防火墙
systemctl stop firewalld.service
//关闭selinux
setenforce 0
//在配置文件中修改selinux的状态
vi /etc/selinux/config 
//把SELINUX=enforcing 改为SELINUX=disabled
SELINUX=disabled

这里博主需要说明的是 selinux 有三个状态

  1. enforcing
    enforcing 是在selinux规则之外的所有操作都会被禁止
  2. permissive
    permissive 是在selinux规则之外的操作系统会提出警告但是并不会禁止
  3. disabled
    disabled 就是禁用掉selinux 这样的话你的所有操作不受selinux规则的影响也不会提出警告
/禁用swap
//禁用swap
[root@Joliu ]# swapoff -a

如果不禁用swap 开启服务的时候会出如下错误

[preflight] Running pre-flight checks
[preflight] Some fatal errors occurred:
	[ERROR Swap]: running with swap on is not supported. Please disable swap
设置主机名

设置你的虚拟机主机名,因为博主要配置一个多节点,1主2从
所以分别在三台虚拟机上执行下面的命令
这里有一个需要注意的是,如果你先安装的是RabbitMQ,未设置用户名可能会服务开始失败,其中有一个原因就是主机名不能全为数字

//主
hostnamectl --static set-hostname  k8s-master
//从1
hostnamectl --static set-hostname  k8s-node-1 
//从2
hostnamectl --static set-hostname  k8s-node-2

加入host解析,相互直接可以识别

//编辑/etc/hosts
vi /etc/hosts
//在文件末尾加入    k8s-master为对应的主机名
主节点ip地址    k8s-master 
从节点1ip地址   k8s-node-1 
从节点2ip地址   k8s-node-2
通过repo获取源

根据官网创建一个repo

vi /etc/yum.repos.d/kubrenetes.repo
//写入
[kubernetes] 
name=Kubernetes Repo 
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ 
gpgcheck=0 
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
//这就是哪个kubernetes-cni的坑
//kubelet的版本需要与之对应的kubernetes-cni的版本

正在解决依赖关系
--> 正在检查事务
---> 软件包 kubeadm.x86_64.0.1.13.1-0 将被 安装
--> 正在处理依赖关系 kubernetes-cni >= 0.6.0,它被软件包 kubeadm-1.13.1-0.x86_64 需要
---> 软件包 kubectl.x86_64.0.1.13.1-0 将被 安装
---> 软件包 kubelet.x86_64.0.1.13.1-0 将被 安装
--> 正在处理依赖关系 kubernetes-cni = 0.6.0,它被软件包 kubelet-1.13.1-0.x86_64 需要
--> 正在检查事务
---> 软件包 kubelet.x86_64.0.1.13.1-0 将被 安装
--> 正在处理依赖关系 kubernetes-cni = 0.6.0,它被软件包 kubelet-1.13.1-0.x86_64 需要
---> 软件包 kubernetes-cni.x86_64.0.0.8.6-0 将被 安装
--> 解决依赖关系完成
错误:软件包:kubelet-1.13.1-0.x86_64 (kubernetes)
          需要:kubernetes-cni = 0.6.0
          可用: kubernetes-cni-0.3.0.1-0.07a8a2.x86_64 (kubernetes)
              kubernetes-cni = 0.3.0.1-0.07a8a2
          可用: kubernetes-cni-0.5.1-0.x86_64 (kubernetes)
              kubernetes-cni = 0.5.1-0
          可用: kubernetes-cni-0.5.1-1.x86_64 (kubernetes)
              kubernetes-cni = 0.5.1-1
          可用: kubernetes-cni-0.6.0-0.x86_64 (kubernetes)
              kubernetes-cni = 0.6.0-0
          可用: kubernetes-cni-0.7.5-0.x86_64 (kubernetes)
              kubernetes-cni = 0.7.5-0
          正在安装: kubernetes-cni-0.8.6-0.x86_64 (kubernetes)
              kubernetes-cni = 0.8.6-0
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest
快捷安装指定版本

博主带你一个命令解决
如果要安装1.13.1的版本直接复制执行下面这条命令

yum install -y kubelet-1.13.1 kubeadm-1.13.1 kubectl-1.13.1 kubernetes-cni-0.6.0

如果要安装最新版本 直接复制执行下面这条命令

yum install -y kubelet-1.18.5 kubeadm-1.18.5 kubectl-1.18.5 kubernetes-cni-0.8.6

安装完成后设置开机自启

//开机自启
systemctl enable kubelet 
//开启
 systemctl start kubelet

初始化集群(这里博主演示的是1.13.1版本的)

打上tag 用于解决源不能访问的问题,因为docker源 在国内是无法访问的。

pull
[root@Joliu ~]# docker pull mirrorgooglecontainers/kube-apiserver:v1.13.1
[root@Joliu ~]# docker pull mirrorgooglecontainers/kube-controller-manager:v1.13.1
[root@Joliu ~]# docker pull mirrorgooglecontainers/kube-scheduler:v1.13.1 
[root@Joliu ~]# docker pull mirrorgooglecontainers/kube-proxy:v1.13.1
[root@Joliu ~]# docker pull mirrorgooglecontainers/pause:3.1 
[root@Joliu ~]# docker pull mirrorgooglecontainers/etcd:3.2.24 
[root@Joliu ~]# docker pull coredns/coredns:1.2.6
[root@Joliu ~]# docker pull registry.cn-shenzhen.aliyuncs.com/cp_m/flannel:v0.10.0-amd64
[root@Joliu ~
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值