0%

安装了最小化redhat7,在bash环境下,不能用tab键补全命令

例如,我在设置防火墙的时候,输出firewall-cmd ,按两下tab键,没有显示选项命令。

经过一番搜索,这是由于系统缺少了bash-completion;

用yum安装,reboot之后,补全命令可用。

Keepalived的作用是检测后端TCP服务的状态,如果有一台提供TCP服务的后端节点死机,或者工作出现故障,keepalived会及时检测到,并将有故障的节点从系统中剔除,当提供TCP服务的节点恢复并且正常提供服务后keepalived会自动将TCP服务的节点加入到集群中。这些工作都是keepalived自动完成,不需要人工干涉,需要人工做的只是修复发生故障的服务器,以下通过示例来演示。

前提:为了测试能顺利进行,需先关闭selinux和firewalld。

测试环境如下:

名称 IP
keepalived主机 10.0.0.20
keepalived备机 10.0.0.21
http服务器1 10.0.0.22
http服务器2 10.0.0.23
virtual ip 10.0.0.100

一、两台http服务器的安装

1、 两台机均安装httpd

$ sudo yum install -y httpd

2、 添加首页

# http服务器1设置
echo “10.0.0.22” >/var/www/html/index.html
 
# http服务器2设置
echo “10.0.0.23” >/var/www/html/index.html

3、 启动并设置开机启动httpd

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

二、两台keepalived主机的设置

1、 两台机均安装keepalived

#安装依赖文件与keepalive
$ sudo yum install -y openssl openssl-devel keepalived

2、 keepalived主机配置

$ sudo vim /etc/keepalived/keepalived.conf
 
  vrrp_instance VI_1 {
    #指定该节点为主节点,备用节点设置为BACKUP
    state MASTER
 
    #绑定虚拟IP的网络接口
    interface eno16777736
 
    #VRRP组名,两个节点设置一样,以指明各个节点同属一VRRP组
    virtual_router_id 51
 
    #主节点的优先级,数值在1~254,注意从节点必须比主节点的优先级别低
    priority 50
 
    ##组播信息发送间隔,两个节点需一致
    advert_int 1
 
    #设置验证信息,两个节点需一致
    authentication{
      auth_type PASS
      auth_pass 1111
    }
 
    #指定虚拟IP,两个节点需设置一样
    virtual_ipaddress{
      10.0.0.100
    }
 }

#虚拟IP服务
virtual_server 10.0.0.100 80 {
    #设定检查间隔
    delay_loop 6
 
   #指定LVS算法
    lb_algo rr
 
   #指定LVS模式
    lb_kind NAT
    nat_mask 255.255.255.0
 
   #持久连接设置,会话保持时间
   persistence_timeout 50
 
   #转发协议为TCP
   protocol TCP
 
  #后端实际TCP服务配置
  real_server 10.0.0.22 80 {
     weight 1
  }
 
  real_server 10.0.0.23 80 {
     weight 1
  }
}

3、 keepalived备机的keepalived.conf的配置,不同之处如下:

# 其它配置跟keepalived主机相同
state BACKUP
priority 30

/etc/keepalived/keepalived.conf为keepalived的主配置文件。 以上配置state表示主节点为10.0.0.20,副节点为10.0.0.21,虚拟IP为 10.0.0.100。 后端的真实服务器为10.0.0.22和10.0.0.23。 当通过10.0.0.100访问web服务器时,自动转到后端真实服务器,后端节点的权重相同,类似轮询的模式。

三、keepalived的启动与测试

1、 启动keepalived

$ sudo systemctl start keepalived
$ sudo systemctl enable keepalived

2、 查看keepalived主机的IP

$ ip addr show

alt

四、测试结果

1、 测试前查看keepalived主机和备机的IP,结果如图

alt alt

2、 重启keepalived主机后,查看keepalived备机的IP显示

alt alt

以上测试结果说明,当keepalived备机在keepalived主机宕机的情况会自动接管了资源。但待keepalived主机恢复正常的时候,主机会重新接管资源。

查看原文

系列目录:

今天周末,沉浸在 k8s 集群部署完成带来的极大满足中开始回顾之前看过的关于 k8s 的各种博客。。。然后,我觉得很有必要补一篇纯手动部署的文章。。。

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-18.03.1
  • kubernetes-v1.10.4
  • etcd-v3.3.7
  • flannel-v0.10.0
阅读全文 »

系列目录:

经过几天的部署、熟悉和理解,对 k8s 的概念和结构都有了一定了解。而在实际操作中,我们的服务运行在服务器,通常都会做反向代理和负载均衡,增强灵活性。这篇博客就来实现 k8s 的反向代理和负载均衡。

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0
阅读全文 »

系列目录:

在上一篇博客中,我们的 k8s 集群基本就已经部署完成了。但是为了方便了解 k8s 的各项概念,我们再继续把 k8s 的 Dashboard UI图形化界面 插件搭建起来。

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0
阅读全文 »

系列目录:

接上步骤,我们已经成功初始化了 MasterNode01 节点,并将其加入到同一个集群内。但是两个节点目前均是 NotReady 状态,这是因为我们的集群还没有安装网络插件,而 k8s 不自带网络插件。

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0
阅读全文 »

系列目录:

经过一天的捣腾,终于是把 Master 初始化出来了,现在咱们来把 Node 节点孵化出来!

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0

这次的重心当然是 Node 节点了。

阅读全文 »

今天准备把 yum 安装的 Docker 1.13.2 卸载,安装 Docker-CE 17.03.2,于是:

yum remove docker*

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm

开始安装:

[root@localhost ~]# yum install docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
已加载插件:fastestmirror
正在检查 docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm: docker-ce-17.03.2.ce-1.el7.centos.x86_64
docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm 将被安装
正在检查 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm: docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch
docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce.x86_64.0.17.03.2.ce-1.el7.centos 将被 安装
--> 正在处理依赖关系 libltdl.so.7()(64bit),它被软件包 docker-ce-17.03.2.ce-1.el7.centos.x86_64 需要
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                             | 3.6 kB  00:00:00     
extras                                                                                                           | 3.4 kB  00:00:00     
updates                                                                                                          | 3.4 kB  00:00:00     
(1/2): extras/7/x86_64/primary_db                                                                                | 143 kB  00:00:05     
(2/2): updates/7/x86_64/primary_db                                                                               | 1.2 MB  00:00:05     
---> 软件包 docker-ce-selinux.noarch.0.17.03.2.ce-1.el7.centos 将被 安装
--> 正在检查事务
---> 软件包 libtool-ltdl.x86_64.0.2.4.2-22.el7_3 将被 安装
--> 处理 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch 与 docker-selinux 的冲突
没有匹配的可升级软件包:docker-ce-selinux
--> 解决依赖关系完成
错误:docker-ce-selinux conflicts with 2:container-selinux-2.55-1.el7.noarch
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

竟然报依赖错误,几番尝试之后才从错误信息中找到冲突组件:

错误:docker-ce-selinux conflicts with 2:container-selinux-2.55-1.el7.noarch 也就是:container-selinux-2.55-1.el7.noarch

继续:

rpm -e container-selinux-2.55-1.el7.noarch

yum install docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm

解决!

系列目录:

经过一夜的休整,整个人又活力满满呢哈哈! 那么,今天就正式开始搭建 k8s 集群环境。先从 Master 节点开始,了解的朋友应该知道,Master 节点搭建因为要下载 Google 的镜像,对于这么这种只有小水管的用户,压力很大啊!不过今天演示我们不使用小水管,ok,看我骚操作

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0

这里依旧使用 Master 机器(这不废话吗)。

阅读全文 »

系列目录:

搭建k8s集群必然少不了要安装k8s,在CentOS中,一般我们可以设置yum源安装。但是,本着打破砂锅问到底的精神,源码摆在那里,不自己编译需要的版本怎么行!~

环境说明:

  • Master:VBox虚拟机/Centos_7.5-1804/192.168.56.100
  • Images:VBox虚拟机/Centos_7.5-1804/192.168.56.101
  • Node01:VBox虚拟机/Centos_7.5-1804/192.168.56.102

软件环境说明:

  • docker-ce-17.03.2
  • kubernetes-v1.9.0
  • harbor-v1.4.0

这里使用 Master 做编译机器。

阅读全文 »