千家信息网

Kubernetes部署(七):Node节点部署

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,相关内容:Kubernetes部署(一):架构及功能说明Kubernetes部署(二):系统环境初始化Kubernetes部署(三):CA证书制作Kubernetes部署(四):ETCD集群部署Kub
千家信息网最后更新 2026年11月04日Kubernetes部署(七):Node节点部署

相关内容:

Kubernetes部署(一):架构及功能说明
Kubernetes部署(二):系统环境初始化
Kubernetes部署(三):CA证书制作
Kubernetes部署(四):ETCD集群部署
Kubernetes部署(五):Haproxy、Keppalived部署
Kubernetes部署(六):Master节点部署
Kubernetes部署(七):Node节点部署
Kubernetes部署(八):Flannel网络部署
Kubernetes部署(九):CoreDNS、Dashboard、Ingress部署
Kubernetes部署(十):储存之glusterfs和heketi部署
Kubernetes部署(十一):管理之Helm和Rancher部署
Kubernetes部署(十二):helm部署harbor企业级镜像仓库

node只需安装kubelet服务,所有节点都需要安装kube-proxy

部署kubelet

1.二进制包准备
将软件包从复制到所有node中去。

[root@node-01 ~]# cd /usr/local/src/kubernetes/server/bin/[root@node-01 bin]# for n in `seq 204 206`;do scp kubelet 10.31.90.$n:/data/kubernetes/bin/ ;done[root@node-01 bin]# for n in `seq 201 206`;do scp  kube-proxy 10.31.90.$n:/data/kubernetes/bin/ ;done

2.创建角色绑定

[root@node-01 ~]# kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrapclusterrolebinding.rbac.authorization.k8s.io/kubelet-bootstrap created

3.创建 kubelet bootstrapping kubeconfig 文件
设置集群参数

[root@node-01 ~]# kubectl config set-cluster kubernetes \   --certificate-authority=/data/kubernetes/ssl/ca.pem \   --embed-certs=true \   --server=https://10.31.90.200:6443 \   --kubeconfig=bootstrap.kubeconfigCluster "kubernetes" set.

设置客户端认证参数,token要使用之前那个

[root@node-01 ~]# kubectl config set-credentials kubelet-bootstrap \   --token=cf25becebf64e3fffd7f3890a60ac16d \   --kubeconfig=bootstrap.kubeconfig   User "kubelet-bootstrap" set.

设置上下文参数

[root@node-01 ~]# kubectl config set-context default \   --cluster=kubernetes \   --user=kubelet-bootstrap \   --kubeconfig=bootstrap.kubeconfigContext "default" created.

选择默认上下文

[root@node-01 ~]# kubectl config use-context default --kubeconfig=bootstrap.kubeconfigSwitched to context "default".#拷贝到3个node节点for n in `seq 204 206`;do scp bootstrap.kubeconfig 10.31.90.$n:/data/kubernetes/cfg/;done

部署kubelet(node节点)

  1. 设置CNI支持(所有节点)
    [root@node-01 ~]# mkdir -p /etc/cni/net.d[root@node-01 ~]# cat >>/etc/cni/net.d/10-default.conf<

2.创建kubelet目录

[root@node-04 ~]# mkdir /var/lib/kubelet

3.创建kubelet服务配置

[root@node-04 ~]# vim /usr/lib/systemd/system/kubelet.service[Unit]Description=Kubernetes KubeletDocumentation=https://github.com/GoogleCloudPlatform/kubernetesAfter=docker.serviceRequires=docker.service[Service]WorkingDirectory=/var/lib/kubeletExecStart=/data/kubernetes/bin/kubelet \  --address=10.31.90.204 \  --hostname-override=10.31.90.204 \  --pod-infra-container-image=mirrorgooglecontainers/pause-amd64:3.0 \  --experimental-bootstrap-kubeconfig=/data/kubernetes/cfg/bootstrap.kubeconfig \  --kubeconfig=/data/kubernetes/cfg/kubelet.kubeconfig \  --cert-dir=/data/kubernetes/ssl \  --network-plugin=cni \  --cni-conf-dir=/etc/cni/net.d \  --cni-bin-dir=/data/kubernetes/bin/cni \  --cluster-dns=10.1.0.2 \  --cluster-domain=cluster.local. \  --hairpin-mode hairpin-veth \  --allow-privileged=true \  --fail-swap-on=false \  --logtostderr=true \  --v=2 \  --logtostderr=false \  --log-dir=/data/kubernetes/logRestart=on-failureRestartSec=5[Install]WantedBy=multi-user.target

4.启动Kubelet

[root@node-04 ~]# systemctl daemon-reload[root@node-04 ~]# systemctl enable kubelet[root@node-04 ~]# systemctl start kubelet

5.查看服务状态

[root@node-04 kubernetes]# systemctl status kubelet

6.查看csr请求
注意是在linux-node1上执行。

[root@node-01 ssl]# kubectl get csrNAME                                                   AGE       REQUESTOR           CONDITIONnode-csr-NqH7J1OuDM_jGtQM_VuABiBcAqgDlT_MfJiVS_qWCbg   1m        kubelet-bootstrap   Pendingnode-csr-jy10bYvow5hYQ2sKWfCuBlUNIPit54dhQfzRUd5E6dc   4m        kubelet-bootstrap   Pendingnode-csr-zPPE5g4d1PtbKo-lQWNNC0bbngttC2bdZtwqBBvjrVM   1m        kubelet-bootstrap   Pending

7.批准kubelet 的 TLS 证书请求

[root@node-01 ~]# kubectl get csr|grep 'Pending' | awk 'NR>0{print $1}'| xargs kubectl certificate approve

执行完毕后,查看节点状态已经是Ready的状态了

[root@node-01 ~]# kubectl get csrNAME                                                   AGE       REQUESTOR           CONDITIONnode-csr-NqH7J1OuDM_jGtQM_VuABiBcAqgDlT_MfJiVS_qWCbg   1m        kubelet-bootstrap   Approved,Issuednode-csr-jy10bYvow5hYQ2sKWfCuBlUNIPit54dhQfzRUd5E6dc   5m        kubelet-bootstrap   Approved,Issuednode-csr-zPPE5g4d1PtbKo-lQWNNC0bbngttC2bdZtwqBBvjrVM   2m        kubelet-bootstrap   Approved,Issued

部署Kubernetes Proxy

kube-proxy master和node节点都安装
1.配置kube-proxy使用LVS

[root@node-01 ~]# yum install -y ipvsadm ipset conntrack

2.创建 kube-proxy 证书请求

[root@node-01 ssl]# cd /usr/local/src/ssl/[root@node-01 ssl]# vim kube-proxy-csr.json{  "CN": "system:kube-proxy",  "hosts": [],  "key": {    "algo": "rsa",    "size": 2048  },  "names": [    {      "C": "CN",      "ST": "BeiJing",      "L": "BeiJing",      "O": "k8s",      "OU": "System"    }  ]}

3.生成证书

[root@node-01 ssl]# cfssl gencert -ca=/data/kubernetes/ssl/ca.pem \   -ca-key=/data/kubernetes/ssl/ca-key.pem \   -config=/data/kubernetes/ssl/ca-config.json \   -profile=kubernetes  kube-proxy-csr.json | cfssljson -bare kube-proxy

4.分发证书到所有node节点

[root@node-01 ssl]# for n in `seq 201 206`;do scp kube-proxy*.pem root@10.31.90.$n:/data/kubernetes/ssl;done

5.创建kube-proxy配置文件

[root@node-01 ~]# kubectl config set-cluster kubernetes \   --certificate-authority=/data/kubernetes/ssl/ca.pem \   --embed-certs=true \   --server=https://10.31.90.200:6443 \   --kubeconfig=kube-proxy.kubeconfigCluster "kubernetes" set.[root@node-01 ~]# kubectl config set-credentials kube-proxy \   --client-certificate=/data/kubernetes/ssl/kube-proxy.pem \   --client-key=/data/kubernetes/ssl/kube-proxy-key.pem \   --embed-certs=true \   --kubeconfig=kube-proxy.kubeconfigUser "kube-proxy" set.[root@node-01 ~]# kubectl config set-context default \   --cluster=kubernetes \   --user=kube-proxy \   --kubeconfig=kube-proxy.kubeconfigContext "default" created.[root@node-01 ~]# kubectl config use-context default --kubeconfig=kube-proxy.kubeconfigSwitched to context "default".

6.分发kubeconfig配置文件

[root@node-01 ssl]# for n in `seq 201 206 `;do scp kube-proxy.kubeconfig 10.31.90.$n:/data/kubernetes/cfg/;done   

7.创建kube-proxy服务配置

[root@node-04 ~]# mkdir /var/lib/kube-proxy[root@node-04 ~]# vim /usr/lib/systemd/system/kube-proxy.service[Unit]Description=Kubernetes Kube-Proxy ServerDocumentation=https://github.com/GoogleCloudPlatform/kubernetesAfter=network.target[Service]WorkingDirectory=/var/lib/kube-proxyExecStart=/data/kubernetes/bin/kube-proxy \  --bind-address=10.31.90.204 \  --hostname-override=10.31.90.204 \  --kubeconfig=/data/kubernetes/cfg/kube-proxy.kubeconfig \  --masquerade-all \  --feature-gates=SupportIPVSProxyMode=true \  --proxy-mode=ipvs \  --ipvs-min-sync-period=5s \  --ipvs-sync-period=5s \  --ipvs-scheduler=rr \  --logtostderr=true \  --v=2 \  --logtostderr=false \  --log-dir=/data/kubernetes/logRestart=on-failureRestartSec=5LimitNOFILE=65536[Install]WantedBy=multi-user.target8.启动Kubernetes Proxy[root@node-04 ~]# systemctl daemon-reload[root@node-04 ~]# systemctl enable kube-proxy[root@node-04 ~]# systemctl start kube-proxy

9.查看服务状态
查看kube-proxy服务状态

[root@node-04 scripts]# systemctl status kube-proxy检查LVS状态[root@node-04 ~]# ipvsadm -L -nIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  10.1.0.1:443 rr  -> 10.31.90.201:6443            Masq    1      0          0  

如果都安装了kubelet和proxy服务,使用下面的命令可以检查状态:

[root@node-01 ~]# kubectl get nodeNAME           STATUS    ROLES     AGE       VERSION10.31.90.204   Ready         40m       v1.11.510.31.90.205   Ready         40m       v1.11.510.31.90.206   Ready         40m       v1.11.5

node-05,node-06节点请自行部署。
后续会陆续更新所有的安装文档,如果你觉得我写的不错,希望大家多多关注点赞,非常感谢!

节点 状态 服务 证书 配置 参数 文件 上下 上下文 服务配置 集群 检查 不错 二进制 仓库 企业 关注点 内容 功能 只需 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 科技互联网龙头 美国互联网科技巨头监管 关于新基建和互联网科技 北京互联网科技公司 奇酷互联网科技公司 云电互联网科技 时间互联网络科技 天下捷融互联网科技 互联网科技英文翻译 互联网金融科技委员会 互联网公司会议桌创意科技软装饰 成都互联网科技公司工作好不好 坤平互联网科技 中国科技创新与世界互联网大会 西安小鹰速贷互联网科技有限公司 徐州市互联网科技有限公司 互联网企业科技类企业如何做账 浙南科技城互联网大厦招聘 优雇互联网科技有限公司 互联网最新的科技有限公司 北京互联网科技 互联网科技的未来发展 撒么互联网科技公司 汉立互联网科技有限公司联系电话 天津腾达互联网科技有限公司 用友工业互联网科技发展 互联网科技手抄报图片 伍佰万互联网科技是干嘛的 互联网科技快速发展优美句子
0