離線安裝k8s的node

2021-10-23 02:26:40 字數 3473 閱讀 5296

3.更改各虛擬機器的hostname, 比如乙個為k8s-node1:hostnamectl set-hostname k8s-node1

4.假設etcd和kube-apiserver的ip都是:10.6.119.106, node1的ip為10.6.119.107

5.利用tar -xvzf命令解壓後, 把kube-proxy和kubelet複製到/usr/local/bin/下。  如:

6.在/usr/lib/systemd/system目錄下建立kube-proxy.service,內容如下:

7. 在/etc/下建立/etc/kube-node/, 然後建立配置/etc/kube-node/kube-proxy.conf檔案

8.在/var/lib下建立/var/lib/kube-node

9.在/etc/kube-node/, 然後建立配置/etc/kube-node/kube-node.conf檔案

10.重複6-8, 建立kubelet的service和conf檔案。

11. 啟動kubelet.service 和kube-proxy.service

12. 如果出錯,檢視服務的錯誤日誌,去/var/log/message

13. 如果出現 connect: no route to host, 可能是防火牆問題。 可以安裝telnet, 用telnet ip port測試下。

14. 安裝成功後可以在k8s master上去看下k8s node是否註冊成功。 具體使用kubectl get nodes

mv /root/downloads/kubernetes/node/bin/kube-proxy /usr/local/bin/kube-proxy

mv /root/downloads/kubernetes/node/bin/kubelet /usr/local/bin/kubelet

[unit]

description=kubernetes kube-proxy service

documentation=

after=network.target

[service]

workingdirectory=/var/lib/kube-node/

environmentfile=-/etc/kube-node/kube-node.conf

environmentfile=-/etc/kube-node/kube-proxy.conf

execstart=/usr/local/bin/kube-proxy   $kube_logtostderr $kube_log_level  $kube_master $kube_proxy_args

restart=on-failure

limitnofile=65536

[install]

wantedby=multi-user.target

kube_proxy_args=""

kube_logtostderr="--logtostderr=true"

# journal message level, 0 is debug

kube_log_level="--v=0"

# should this cluster be allowed to run privileged docker containers

kube_allow_priv="--allow-privileged=false"

# how the controller-manager, scheduler, and proxy find the apiserver

kube_master="--master="

kubelet_api_server="--api-servers="

kubelet.service 如下:

[unit]

description=kubernetes kubelet server

documentation=

after=docker.service

requires=docker.service

[service]

workingdirectory=/var/lib/kube-node/

environmentfile=-/etc/kube-node/kubelet.conf

execstart=/usr/local/bin/kubelet $kubelet_args

restart=on-failure

killmode=process

[install]

wantedby=multi-user.target

kubelet.conf 如下:

#node 本機ip

kubelet_hostname="--hostname-override=10.6.119.107"

#docker 倉庫的位址

kubelet_pod_infra_container="--pod-infra-container-image=10.6.119.106/harbor/pod-infrastructure:latest"

kubelet_args="--enable-server=true --enable-debugging-handlers=true  --fail-swap-on=false --kubeconfig=/etc/kube-node/kubeconfig"

上面kubelet.conf引用的kubeconfig檔案的內容如下:

apiversion: v1

kind: config

users:

- name: kubelet

clusters:

- name: kubernetes

cluster:

server:

contexts:

- context:

cluster: kubernetes

user: kubelet

name: service-account-context

current-context: service-account-context

systemctl daemon-reload

systemctl enable kube-proxy.service

systemctl start kube-proxy.service

systemctl enable kubelet.service

systemctl start kubelet.service

解決辦法是:清除防火牆規則:iptables -f

或者把8080加到防火牆規則裡

firewall-cmd --zone=public --add-port=8080/tcp --permanent

[root@k8s-master ~]# kubectl get nodes

name        status   roles    age   version

k8s-node1   ready    16h   v1.17.4

除錯和離線檔案參考:

k8s 離線安裝 阿里開源 k8s 事件通知服務

在 kubernetes 開源生態中,資源監控有metrics server prometheus等,但這些監控並不能實時推送 kubernetes 事件,監控準確性也不足。當 kubernetes 集群中發生 pod因為 oom 拉取不到映象 健康檢查不通過等錯誤導致重啟,集群管理員其實是不知道的...

k8s集群部署 docker部署k8s安裝篇

1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...

K8s集群環境搭建 K8s安裝(2)

k8s集群環境搭建 基礎環境配置 1 k8s集群環境搭建 k8s安裝 2 k8s集群環境搭建 安裝keepalived和haproxy 3 k8s集群環境搭建 k8s集群初始化 4 k8s集群環境搭建 安裝metrics和dashboard 5 一 安裝docker 所有節點 檢視docker版本有...