溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Kubernetes 1.8.4中如何安裝Etcd

發(fā)布時間:2021-11-12 11:35:17 來源:億速云 閱讀:217 作者:小新 欄目:云計算

小編給大家分享一下Kubernetes 1.8.4中如何安裝Etcd,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

      在開始安裝 Kubernetes 之前,需要先將一些必要系統(tǒng)創(chuàng)建完成,其中 Etcd 就是 Kubernetes 最重要的一環(huán),Kubernetes會將大部分信息儲存于Etcd上,來提供給其他節(jié)點索取,以確保整個集群運作與溝通正常。

創(chuàng)建集群 CA 與 Certificates

在這部分,將會需要產(chǎn)生 client 與 server 的各組件 certificates,并且替 Kubernetes admin user 產(chǎn)生 client 證書。

  • 建立/etc/etcd/ssl文件夾,然后進(jìn)入目錄。

    mkdir -p /etc/etcd/ssl && cd /etc/etcd/ssl


     

  • 生成ca-config.json與etcd-ca-csr.json文件,并產(chǎn)生 CA 密鑰:
    生成ca-config.json文件

    cat <<EOF > ca-config.json
    {
        "signing": {
            "default": {
                "expiry": "87600h"
            },
            "profiles": {
                "kubernetes": {
                    "usages": [
                        "signing",
                        "key encipherment",
                        "server auth",
                        "client auth"
                    ],
                    "expiry": "87600h"
                }
            }
        }
    }
    EOF


    生成etcd-ca-csr.json文件

    cat <<EOF > etcd-ca-csr.json
    {
        "CN": "etcd",
        "key": {
            "algo": "rsa",
            "size": 2048
        },
        "names": [
            {
                "C": "SC",
                "ST": "ChengDu",
                "L": "ChengDu",
                "O": "etcd",
                "OU": "Etcd Security"
            }
        ]
    }
    EOF


    生成證書

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


  • 生成etcd-csr.json文件,并產(chǎn)生 kube-apiserver certificate 證書:
    生成etcd-csr.json文件

    cat <<EOF > etcd-csr.json
    {
        "CN": "etcd",
        "hosts": [
            "127.0.0.1",
            "10.0.0.162"
        ],
        "key": {
            "algo": "rsa",
            "size": 2048
        },
        "names": [
            {
                "C": "SC",
                "ST": "ChengDu",
                "L": "ChengDu",
                "O": "etcd",
                "OU": "Etcd Security"
            }
        ]
    }
    EOF


    注意hosts更換成自己的IP,這里我的etcd只有一個節(jié)點并且在162節(jié)點上。

  • 生成證書

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


Etcd 安裝與設(shè)定

  • 首先在master(162)節(jié)點下載 Etcd,并解壓縮放到 /opt 底下與安裝:

    export ETCD_URL="https://github.com/coreos/etcd/releases/download" 
    cd && wget -qO-  "${ETCD_URL}/v3.2.9/etcd-v3.2.9-linux-amd64.tar.gz" | tar -zx
    mv etcd-v3.2.9-linux-amd64/etcd* /usr/local/bin/ && rm -rf etcd-v3.2.9-linux-amd64


  • 完成后新建 Etcd Group 與 User,并建立 Etcd 配置文件目錄:

    groupadd etcd && useradd -c "Etcd user" -g etcd -s /sbin/nologin -r etcd


  • 配置etcd.conf和etcd.service
    生成etcd.conf

    cat <<EOF > /etc/etcd/etcd.conf
    # [member]
    ETCD_NAME=node162
    ETCD_DATA_DIR=/var/lib/etcd
    ETCD_LISTEN_PEER_URLS=https://0.0.0.0:2380
    ETCD_LISTEN_CLIENT_URLS=https://0.0.0.0:2379
    ETCD_PROXY=off
    
    # [cluster]
    ETCD_ADVERTISE_CLIENT_URLS=https://10.0.0.162:2379
    ETCD_INITIAL_ADVERTISE_PEER_URLS=https://10.0.0.162:2380
    ETCD_INITIAL_CLUSTER=node162=https://10.0.0.162:2380
    ETCD_INITIAL_CLUSTER_STATE=new
    ETCD_INITIAL_CLUSTER_TOKEN=etcd-k8s-cluster
    
    # [security]
    ETCD_CERT_FILE="/etc/etcd/ssl/etcd.pem"
    ETCD_KEY_FILE="/etc/etcd/ssl/etcd-key.pem"
    ETCD_CLIENT_CERT_AUTH="true"
    ETCD_TRUSTED_CA_FILE="/etc/etcd/ssl/etcd-ca.pem"
    ETCD_AUTO_TLS="true"
    ETCD_PEER_CERT_FILE="/etc/etcd/ssl/etcd.pem"
    ETCD_PEER_KEY_FILE="/etc/etcd/ssl/etcd-key.pem"
    ETCD_PEER_CLIENT_CERT_AUTH="true"
    ETCD_PEER_TRUSTED_CA_FILE="/etc/etcd/ssl/etcd-ca.pem"
    ETCD_PEER_AUTO_TLS="true"
    EOF


    若與該教程 IP 不同的話,請用自己 IP 取代10.0.0.162。
    生成etcd.service

    cat <<EOF > /lib/systemd/system/etcd.service
    [Unit]
    Description=Etcd Service
    After=network.target
    
    [Service]
    Environment=ETCD_DATA_DIR=/var/lib/etcd/default
    EnvironmentFile=-/etc/etcd/etcd.conf
    Type=notify
    User=etcd
    PermissionsStartOnly=true
    ExecStart=/usr/local/bin/etcd
    Restart=on-failure
    RestartSec=10
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    EOF


     

  • 通過簡單指令驗證:

    export CA="/etc/etcd/ssl"
    ETCDCTL_API=3 etcdctl \
        --cacert=${CA}/etcd-ca.pem \
        --cert=${CA}/etcd.pem \
        --key=${CA}/etcd-key.pem \
        --endpoints="https://10.0.0.162:2379" \
        endpoint health


    若與該教程 IP 不同的話,請用自己 IP 取代10.0.0.162。

以上是“Kubernetes 1.8.4中如何安裝Etcd”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI