k8s部署-1.自签TLS证书

组件使用的证书
etcdca.pem,server.pem,server-key.pem
kube-apiserverca.pem,server.pem,server-key.pem
kubeletca.pem,ca-key.pem
kube-proxyca.pem,kube-proxy.pem,kube-proxy-key.pem
kubectlca.pem,admin.pem,admin-key.pem

一、安装证书生成工具cfssl

wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64

wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

chmod +x cfssl_linux-amd64  cfssljson_linux-amd64  cfssl-certinfo_linux-amd64

mv  cfssl_linux-amd64 /usr/local/bin/cfssl

mv  cfssljson_linux-amd64  /usr/local/bin/cfssljson

mv  cfssl-certinfo_linux-amd64  /usr/local/bin/cfssl-certinfo

二、生成ca证书

创建ssl目录

mkdir -p /tools/ssl
cd /tools/ssl

创建ca-csr.json文件

{
    "CN": "kubernetes",
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Shanghai",
            "ST": "Shanghai",
            "O": "k8s",
            "OU": "System"
        }
    ]
}

执行生成ca-csr ssl文件命令

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

三、生成server证书

要先创建ca-config.json文件

{
    "signing": {
        "default": {
            "expiry": "87600h"
        },
        "profiles": {
            "kubernetes": {
                "expiry": "87600h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "server auth",
                    "client auth"
                ]
            }
        }
    }
}

创建server-csr.json文件

{
    "CN": "kubernetes",
    "hosts": [
      "127.0.0.1",
      "192.168.112.134",
      "192.168.112.135",
      "192.168.112.136",
      "kubernetes.default",
      "kubernetes.default.svc",
      "kubernetes.default.svc.cluster",
      "kubernetes.default.svc.cluster.local"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Shanghai",
            "ST": "Shanghai",
            "O": "k8s",
            "OU": "System"
        }
    ]
}

执行生成server-csr ssl文件命令

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes server-csr.json | cfssljson -bare server

四、生成admin证书

先创建ca-config.json文件

再创建admin-csr.json文件

{
    "CN": "admin",
    "hosts": [],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Shanghai",
            "ST": "Shanghai",
            "O": "system:masters",
            "OU": "System"
        }
    ]
}

执行生成admin-csr ssl文件命令

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes admin-csr.json | cfssljson -bare admin

五、生成kube-proxy证书

先创建ca-config.json文件

再创建kube-proxy-csr.json文件

{
    "CN": "system:kube-proxy",
    "hosts": [],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Shanghai",
            "ST": "Shanghai",
            "O": "k8s",
            "OU": "System"
        }
    ]
}

执行生成kube-proxy-csr ssl文件命令

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
k8s自动化安装脚本(kubeadm-1.26.3)是用于自动化部署和配置Kubernetes集群的工具。它提供了一种简单快速的方式来安装和设置Kubernetes的各个组件,包括kubelet、kube-proxy、kube-controller-manager和kube-scheduler等。 使用kubeadm-1.26.3脚本可以实现以下功能: 1. 初始化Master节点:通过执行`kubeadm init`命令,kubeadm-1.26.3将自动初始化Master节点,并生成用于其他节点加入集群的令牌。 2. 加入Worker节点:通过执行`kubeadm join`命令,kubeadm-1.26.3可以将Worker节点快速地加入到Kubernetes集群中。 3. 网络配置:kubeadm-1.26.3支持多种网络插件,如Flannel、Calico等。可以通过参数设置选择合适的网络插件,并自动配置网络。 4. TLS证书管理:kubeadm-1.26.3自动生成并分发TLS证书,用于安全地通信和认证集群中的各个组件。 5. 容器运行时配置:kubeadm-1.26.3可以根据配置自动安装和配置Docker或者其他容器运行时,确保集群中的容器能够正常运行。 6. 控制平面组件部署kubeadm-1.26.3负责自动部署和配置kube-controller-manager、kube-scheduler等控制平面组件,确保集群正常运行。 7. 扩展功能:kubeadm-1.26.3还支持其他功能,如升级Kubernetes版本、附加额外的Pod网络等。 总的来说,kubeadm-1.26.3提供了一种简单灵活的方式来自动化部署和配置Kubernetes集群。它大大简化了Kubernetes的安装和配置过程,使得用户可以更专注于应用的开发和部署
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值