接著上面的博客繼續寫
準備三臺主機
192.168.1.71
192.168.1.72
192.168.1.73
現在k8s壓縮包 我使用時1.12版本 不能下載請FQ
百度網盤提供1.12版本
https://pan.baidu.com/s/1Ty6DRaRtL-0HiTCwy5ubPA?
n6cy?
192.168.1.71
執行
pwd -> /tmp
tar -zxf?kubernetes-server-linux-amd64.tar.gz
cd?/tmp/kubernetes/server/bin
刪除不需要的文件
rm -rf *.*
cp -rvf * /usr/bin/
修改selinux權限
for i in *; do chcon -u system_u -t bin_t /usr/bin/$i; done
cd
mkdir /root/system
cd /root/system
準備k8s程序啟動二進制文件
百度網盤提供
https://pan.baidu.com/s/1LM5SiWuRl0IzhPiIOgGEsw?
w2r1
也可以通過下面編輯的方式 設置k8s啟動程序文件
下面編寫的配置文件
vi?kube-apiserver.service
[Unit] Description=Kubernetes API Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=network.target After=etcd.service[Service] EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/apiserver User=kube ExecStart=/usr/bin/kube-apiserver \$KUBE_LOGTOSTDERR \$KUBE_LOG_LEVEL \$KUBE_ETCD_SERVERS \$KUBE_API_ADDRESS \$KUBE_API_PORT \$KUBELET_PORT \$KUBE_ALLOW_PRIV \$KUBE_SERVICE_ADDRESSES \$KUBE_ADMISSION_CONTROL \$KUBE_API_ARGS Restart=on-failure Type=notify LimitNOFILE=65536[Install] WantedBy=multi-user.target
vi?kube-controller-manager.service
[Unit] Description=Kubernetes Controller Manager Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/controller-manager User=kube ExecStart=/usr/bin/kube-controller-manager \$KUBE_LOGTOSTDERR \$KUBE_LOG_LEVEL \$KUBE_MASTER \$KUBE_CONTROLLER_MANAGER_ARGS Restart=on-failure LimitNOFILE=65536[Install] WantedBy=multi-user.target
vi?kubelet.service
[Unit] Description=Kubernetes Kubelet Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=docker.service Requires=docker.service[Service] WorkingDirectory=/var/lib/kubelet EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/kubelet ExecStart=/usr/bin/kubelet \$KUBE_LOGTOSTDERR \$KUBE_LOG_LEVEL \$KUBELET_API_SERVER \$KUBELET_ADDRESS \$KUBELET_PORT \$KUBELET_HOSTNAME \$KUBE_ALLOW_PRIV \$KUBELET_POD_INFRA_CONTAINER \$KUBELET_ARGS Restart=on-failure[Install] WantedBy=multi-user.target
vi?kube-proxy.service
[Unit] Description=Kubernetes Kube-Proxy Server Documentation=https://github.com/GoogleCloudPlatform/kubernetes After=network.target[Service] EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/proxy ExecStart=/usr/bin/kube-proxy \$KUBE_LOGTOSTDERR \$KUBE_LOG_LEVEL \$KUBE_MASTER \$KUBE_PROXY_ARGS Restart=on-failure LimitNOFILE=65536[Install] WantedBy=multi-user.target
vi?kube-scheduler.service
[Unit] Description=Kubernetes Scheduler Plugin Documentation=https://github.com/GoogleCloudPlatform/kubernetes [Service] EnvironmentFile=-/etc/kubernetes/config EnvironmentFile=-/etc/kubernetes/scheduler User=kube ExecStart=/usr/bin/kube-scheduler \$KUBE_LOGTOSTDERR \$KUBE_LOG_LEVEL \$KUBE_MASTER \$KUBE_SCHEDULER_ARGS Restart=on-failure LimitNOFILE=65536[Install] WantedBy=multi-user.target
復制k8s啟動文件到 /usr/lib/systemd/system 目錄下
pwd -> /root/system
cp -rfv kube* /usr/lib/systemd/system/
systemctl daemon-reload
mkdir /root/k8s-config-file
cd?/root/k8s-config-file
下載k8s配置文件 1.10版本
https://pan.baidu.com/s/1uB3vklhNmLZFgrhnJ8TSVA
e0n6
復制配置文件到 /etc/kubernetes 目錄
cp -rfv * /etc/kubernetes/
給 72 73 發送k8s配置文件
scp -r * 192.168.1.72:/etc/kubernetes/
scp -r * 192.168.1.73:/etc/kubernetes/
給 72 73 發送k8s啟動程序配置文件
scp -r kube* 192.168.1.72:/usr/lib/systemd/system/
scp -r kube* 192.168.1.73:/usr/lib/systemd/system/
給 192.168.1.72 發送k8s命令控制文件? ?三臺主機設計的倆主一從 在實際生產中一般默認要有2個api服務器做高可用
pwd ->?/tmp/kubernetes/server/bin
scp -r * 192.168.1.72:/usr/bin/
給 192.168.1.73 發送k8s命令控制文件
scp -r kubelet kube-proxy 192.168.1.73:/usr/bin/
192.168.1.72
執行
chcon -u system_u -t bin_t /usr/bin/apiextensions-apiserver chcon -u system_u -t bin_t /usr/bin/cloud-controller-manager chcon -u system_u -t bin_t /usr/bin/hyperkube chcon -u system_u -t bin_t /usr/bin/kubeadm chcon -u system_u -t bin_t /usr/bin/kube-aggregator chcon -u system_u -t bin_t /usr/bin/kube-apiserver chcon -u system_u -t bin_t /usr/bin/kube-controller-manager chcon -u system_u -t bin_t /usr/bin/kubectl chcon -u system_u -t bin_t /usr/bin/kubefed chcon -u system_u -t bin_t /usr/bin/kubelet chcon -u system_u -t bin_t /usr/bin/kube-proxy chcon -u system_u -t bin_t /usr/bin/kube-scheduler
192.168.1.73
執行
chcon -u system_u -t bin_t /usr/bin/kubelet
chcon -u system_u -t bin_t /usr/bin/kube-proxy
?
192.168.1.71
執行
復制api證書到/etc/kubernetes/ssl/目錄
pwd ->?/etc/ssl/k8s/apiserver
cp apiserver.key apiserver.pem /etc/kubernetes/ssl/
給 192.168.1.72 發送證書
scp -r apiserver.key apiserver.pem 192.168.1.72:/etc/kubernetes/ssl/
復制ca.key到k8s目錄下
pwd ->?/etc/ssl/k8s
cp -rfv ca.key /etc/kubernetes/ssl/
scp -r ca.key 192.168.1.72:/etc/kubernetes/ssl/
scp -r ca.key 192.168.1.73:/etc/kubernetes/ssl/
復制kubelet證書
pwd ->?/etc/ssl/k8s
首先刪除證書請求文件? 簽發證書之后csr文件就沒用了?
rm -rf kubelet/*.csr
rm -rf kube-proxy/*.csr
cp -rfv kubelet/kubelet-1-71.* /etc/kubernetes/ssl/
cp -rfv kube-proxy/kube-proxy-1-71.* /etc/kubernetes/ssl/
scp -r kubelet/kubelet-1-72.* kube-proxy/kube-proxy-1-72.* 192.168.1.72:/etc/kubernetes/ssl/
scp -r kubelet/kubelet-1-73.* kube-proxy/kube-proxy-1-73.* 192.168.1.73:/etc/kubernetes/ssl/