在master上安裝etcd,本文對(duì)應(yīng)的是192.168.100.20這臺(tái)機(jī)器
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、成都品牌網(wǎng)站建設(shè)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專(zhuān)才。下載etcd安裝包
wget /tupian/20230522/etcd-v3.2.7-linux-amd64.tar.gz
解包,將etcd-v3.2.7-linux-amd64下的etcd,etcdctl到/usr/local/bin目錄下
cp etcd-v3.2.7-linux-amd64/{etcd,etcdctl} /usr/local/bin
制作etcd啟動(dòng)腳本
cat etcd.sh
#!/bin/sh
ETCD_ADDR=http://0.0.0.0:2379
ETCD_DATA_DIR=/var/lib/etcd
ETCD_NAME=kubernetes
! test -d $ETCD_DATA_DIR && mkdir -p $ETCD_DATA_DIR
cat ? << EOF >/usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
[Service]
ExecStart=/usr/local/bin/etcd --listen-client-urls='$ETCD_ADDR' --advertise-client-urls='$ETCD_ADDR'
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable etcd
systemctl start etcd
啟動(dòng)etcd
systemctl start etcd.service
在master上安裝apiserver
apiserver,controller-manager,sheduler等組件都在kubernetes包中,所以下載kubernetes包即可
wget /tupian/20230522/kubernetes-server-linux-amd64.tar.gz
解包,并將kubernetes/server/bin下的kube-apiserver,kube-controller-manager,kube-scheduler,kubectl,kubefed 復(fù)制到/usr/local/bin下
cp kubernetes/server/bin/{kube-apiserver,kube-controller-manager,kube-scheduler,kubectl,kubefed} /usr/local/bin
制作apiserver ,controller-manager,scheduler的啟動(dòng)腳本
apiserver 啟動(dòng)腳本
cat apiserver.sh
#!/bin/sh
KUBE_LOGTOSTDERR=true
KUBE_LOG_LEVEL=2
KUBE_ETCD_SERVERS=http://192.168.100.20:2379
KUBE_CLUSTER_IP=10.10.10.0/24
INSECURE_BIND_ADDR=0.0.0.0
INSECURE_PORT=8080
LOG_DIR=/var/log/kubernetes
cat
[Unit]
Description=Kubernetes API Server
After=network.target
After=etcd.service
[Service]
ExecStart=/usr/local/bin/kube-apiserver \\
--logtostderr=${KUBE_LOGTOSTDERR} \\
--v=${KUBE_LOG_LEVEL} \\
--log-dir='${LOG_DIR}' \\
--etcd_servers=${KUBE_ETCD_SERVERS} \\
--service-cluster-ip-range=${KUBE_CLUSTER_IP} \\
--service-node-port-range=1-65535 \\
--admission_control=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ResourceQuota \\
--insecure-bind-address=${INSECURE_BIND_ADDR} \\
--insecure-port=${INSECURE_PORT}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable apiserver
systemctl start apiserver
啟動(dòng)服務(wù)
systemctl start apiserver.service
controller-manager啟動(dòng)腳本
cat controller-mananger.sh
#!/bin/sh
KUBE_LOGTOSTDERR=true
KUBE_LOG_LEVEL=4kubernetes-server-linux-amd64.tar.gz
KUBE_MASTER=192.168.100.20:8080
cat
[Unit]
Description=Kubernetes Controller Manager
Documentation=/tupian/20230522/kubernetes
After=network.target
After=apiserver.service
[Service]
ExecStart=/usr/local/bin/kube-controller-manager \\
--logtostderr=${KUBE_LOGTOSTDERR} \\
--v=${KUBE_LOG_LEVEL} \\
--log-dir="/var/log/controller" \\
--master=${KUBE_MASTER} \\
--service-cluster-ip-range=10.10.10.0/24
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable controller-manager
systemctl start controller-manager
啟動(dòng)服務(wù)
systemctl start controller-manager.service
scheduler啟動(dòng)腳本
cat scheduler.sh
#!bin/sh
KUBE_LOGTOSTDERR=true
KUBE_LOG_LEVEL=4
KUBE_MASTER=192.168.100.20:8080
cat ?
[Unit]
Description=Kubernetes Scheduler
Documentation=/tupian/20230522/kubernetes
[Service]
ExecStart=/usr/local/bin/kube-scheduler \\
--logtostderr=${KUBE_LOGTOSTDERR} \\
--v=${KUBE_LOG_LEVEL} \\
--master=${KUBE_MASTER} \\
--log-dir='/var/log/scheduler'
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable scheduler
systemctl start scheduler
啟動(dòng)服務(wù)systemctl start scheduler.service
這兩個(gè)組件安裝在minion端,將在master下載的kubernetes-server-linux-amd64.tar.gz解壓后的kubernetes/server/bin下的kubelet,kube-proxy復(fù)制到minion的/usr/local/bin下
cp kubernetes/server/bin/{kubelet,kube-proxy} /usr/local/bin
制作啟動(dòng)腳本
kubelet啟動(dòng)腳本
cat kubelet.sh
#!/bin/sh
KUBE_LOGTOSTDERR=true
KUBE_LOG_LEVEL=4
KUBE_SERVERS=http://192.168.100.20:8080
MINION_HOSTNAME=192.168.100.93
cat ?
[Unit]
Description=Kubernetes Kubelet
After=docker.socket cadvisor.service
Requires=docker.socket
[Service]
ExecStart=/usr/local/bin/kubelet \\
--logtostderr=${KUBE_LOGTOSTDERR} \\
--v=${KUBE_LOG_LEVEL} \\
--api_servers=${KUBE_SERVERS} \\
--hostname_override=${MINION_HOSTNAME} \\
--cluster-dns=10.10.10.10 \\
--cluster-domain=cluster.local \\
--allow-privileged=true \\
--pod-infra-container-image=registry:5000/pause-amd64:3.0
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable kubelet
systemctl start kubelet
啟動(dòng)服務(wù)
systemctl start kubelet.service
kube-proxy啟動(dòng)腳本
cat proxy.sh
#!/bin/sh
KUBE_LOGTOSTDERR=true
KUBE_LOG_LEVEL=4
KUBE_SERVERS=http://192.168.100.20:8080
cat ?
[Unit]
Description=Kubernetes Proxy
# the proxy crashes if etcd isn't reachable.
# /tupian/20230522/kubernetes/issues/1206
After=network.target
[Service]
ExecStart=/usr/local/bin/kube-proxy \\
--logtostderr=${KUBE_LOGTOSTDERR} \\
--v=${KUBE_LOG_LEVEL} \\
--master=${KUBE_SERVERS}
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable proxy
systemctl start proxy
啟動(dòng)服務(wù)systemctl start proxy.service