Kubernetes集群二进制部署(一)——Etcd数据库群集功能部署、flannel网络组建

本文详细介绍了如何在Kubernetes集群中部署Etcd数据库群集和flannel网络。首先,文章讲解了Etcd的证书制作过程,包括创建工作目录、安装cfssl工具以及生成证书等步骤。接着,展示了在master和node节点上搭建etcd集群的完整流程,包括配置文件的创建、节点的加入和集群状态检查。然后,文章阐述了Docker引擎的部署。最后,重点讲述了flannel网络配置,包括写入子网段到etcd、部署flannel、配置Docker连接flannel网络以及验证容器间的网络互通。
摘要由CSDN通过智能技术生成

节点环境规划

Master节点可以使用CPU:2+内存 :2+硬盘:20G

Node节点需要跑业务,可以使用CPU:4+内存:4+硬盘:20G

服务器 IP 安装软件
Master 192.168.11.11 kube-apiserver、kube-controller-manager、kube-scheduler、etcd
Node01 192.168.11.16 kubelet、kube-proxy、docker 、flannel 、etcd
Node02 192.168.11.17 kubelet、kube-proxy、docker 、flannel 、etcd

软件包

百度网盘链接:https://pan.baidu.com/s/1o8kgiC_9b2hO8FRNaDGC3Q
提取码:qz5v

一、部署Etcd

1、制作证书

① 创建工作目录
[root@master ~]# mkdir k8s
[root@master k8s]# cd k8s
② 安装制作证书的工具cfssl

编写cfssl.sh脚本,从官网下载制作证书的工具cfssl,直接放在/usr/local/bin目录下,方便系统识别,并加执行权限

[root@localhost k8s]# vim cfssl.sh
curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfssl
curl -L https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljson
curl -L https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfo
chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson /usr/local/bin/cfssl-certinfo

[root@localhost k8s]# bash cfssl.sh    #执行脚本等待安装下载软件
[root@localhost k8s]# ls /usr/local/bin/     #可以看到三个制作证书的工具
cfssl  cfssl-certinfo  cfssljson

#cfssl:生成证书工具
#cfssl-certinfo:查看证书信息
#cfssljson:通过传入json文件生成证书

③ 编辑etcd证书创建的脚本

Etcd之间的通讯都是需要安全认证的,安全认证又需要证书认证的

#创建证书目录

[root@master k8s]# mkdir etcd-cert
[root@master k8s]# cd etcd-cert

#编辑etcd证书创建的脚本

[root@master etcd-cert]# vim etcd-cert.sh 
#创建生成ca证书的配置文件
cat > ca-config.json <<EOF
{
  "signing": {
    "default": {
      "expiry": "87600h"
    },
    "profiles": {
      "www": {
         "expiry": "87600h",
         "usages": [
            "signing",
            "key encipherment",
            "server auth",
            "client auth"
        ]
      }
    }
  }
}
EOF
#创建ca证书的签名证书
cat > ca-csr.json <<EOF
{
    "CN": "etcd CA",
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Beijing",
            "ST": "Beijing"
        }
    ]
}
EOF
#cfssl、cfssljson:证书的创建工具。用ca签名证书生成ca证书,得到ca-key.pem ca.pem
cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

#-----------------------
#指定etcd三个节点之间的通信验证—需要服务器签名证书 server-csr.json
cat > server-csr.json <<EOF
{
    "CN": "etcd",
    "hosts": [
    "10.206.240.188",
    "10.206.240.189",
    "10.206.240.111"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "BeiJing",
            "ST": "BeiJing"
        }
    ]
}
EOF
#用ca-key.pem、ca.pem、服务器签名证书 生成ETCD证书 ----server-key.pem、server.pem
cfssl gencert -ca=ca.pem 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值