1)CA 证书配置
登录 192.168.0.1 app 用户下
cd ssl/kubernetes
#注意修改 KUBE_HOME,BOOTSTRAP_TOKEN #与 3.5 3)token 一致,
KUBE_APISERVER,IP 等信息
bash ca_kubelet.sh

#!/bin/bash
KUBE_HOME=kubernetes
BOOTSTRAP_TOKEN=f192f8a03c6a087e6033c233eb22aae3 #与3.5 3)token一致
KUBE_APISERVER=https://192.168.0.1:6443
#设置集群参数
$KUBE_HOME/bin/kubectl config set-cluster kubernetes \
--certificate-authority=./ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=bootstrap.kubeconfig
#设置客户端认证参数
$KUBE_HOME/bin/kubectl config set-credentials kubelet-bootstrap \
--token=${BOOTSTRAP_TOKEN} \
--kubeconfig=bootstrap.kubeconfig
#设置上下文参数
$KUBE_HOME/bin/kubectl config set-context default \
--cluster=kubernetes \
--user=kubelet-bootstrap \
--kubeconfig=bootstrap.kubeconfig
#设置默认上下文
$KUBE_HOME/bin/kubectl config use-context default --kubeconfig=bootstrap.kubeconfig
#创建kube-proxy kubeconfig文件
#设置集群参数
$KUBE_HOME/bin/kubectl config set-cluster kubernetes \
--certificate-authority=./ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=kube-proxy.kubeconfig
#设置客户端认证参数
$KUBE_HOME/bin/kubectl config set-credentials kube-proxy \
--client-certificate=./kube-proxy.pem \
--client-key=./kube-proxy-key.pem \
--embed-certs=true \
--kubeconfig=kube-proxy.kubeconfig
#设置上下文参数
$KUBE_HOME/bin/kubectl config set-context default \
--cluster=kubernetes \
--user=kube-proxy \
--kubeconfig=kube-proxy.kubeconfig
#设置默认上下文
$KUBE_HOME/bin/kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
# 将bootstrap kubeconfig kube-proxy.kubeconfig 文件拷贝到所有 nodes节点
cp bootstrap.kubeconfig kube-proxy.kubeconfig $KUBE_HOME/ssl
scp bootstrap.kubeconfig kube-proxy.kubeconfig app@192.168.0.2:$KUBE_HOME/ssl
scp bootstrap.kubeconfig kube-proxy.kubeconfig app@192.168.0.2:$KUBE_HOME/ssl

以下在 192.168.0.1 192.168.0.2 192.168.0.3 app 用户下操作
2)程序准备
tar xvf kubernetes-node-linux-amd64.tar.gz
mkdir -p kubernetes/{bin,cfg,ssl}
a.kubelet 服务配置
#注意修改 kubelet.config 中的 address 和 clusterDNS
kubernetes/cfg/kubelet.config

kind: KubeletConfiguration
apiVersion: kubelet.config.k8s.io/v1beta1
address: xxx.xxx.xxx.xxx
port: 10250
readOnlyPort: 10255
cgroupDriver: cgroupfs
clusterDNS: ["10.1.0.2"]
clusterDomain: cluster.local.
failSwapOn: false
authentication:
anonymous:
enabled: true

#注意修改 kubelet 中的 IP 路径
kubernetes/cfg/kubernetes/kubelet

KUBE_HOME=kubernetes
KUBE_IP=192.168.0.1
KUBELET_ARGS="--logtostderr=true \
--v=4 \
--hostname-override=$KUBE_IP \
--kubeconfig=$KUBE_HOME/cfg/kubelet.kubeconfig \
--bootstrap-kubeconfig=$KUBE_HOME/cfg/bootstrap.kubeconfig \
--config=$KUBE_HOME/cfg/kubelet.config \
--cert-dir=$KUBE_HOME/ssl \
--pod-infra-container-image=k8s.gcr.io/pause:3.1"

使用 root 用户执行
mkdir -p /data/kubelet
ln -s /data/kubelet /var/lib/kubelet
#开启与停止服务
##开启服务
执行之前操作 3)小节创建用户

#!/bin/bash
KUBE_HOME=kubernetes
$KUBE_HOME/bin/kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrapper \
--user=kubelet-bootstrap
kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrrooter \
--user=kubelet-bootstrap
kubectl create clusterrolebinding system:anonymous --clusterrole=cluster-admin --user=system:anonymous source $KUBE_HOME/cfg/kubelet
nohup $KUBE_HOME/bin/kubelet $KUBELET_ARGS &

##停止服务

#!/bin/bash
kill -9 ` ps -ef | grep kubelet | grep -v grep | awk '{print $2}'`

b.proxy 服务配置
#注意 kube-proxy 中的 IP 修改
kubernetes/cfg/kube-proxy

#!/bin/bash
KUBE_HOME=kubernetes
KUBE_IP=192.168.0.1
CLUSTERCIDR="10.1.0.0/24"
KUBE_PROXY_ARGS="--logtostderr=true \
--v=4 \
--hostname-override=$KUBE_IP \
--cluster-cidr=$CLUSTERCIDR \
--kubeconfig=$KUBE_HOME/cfg/kube-proxy.kubeconfig"

#开启与停止服务
##开启服务

#!/bin/bash
KUBE_HOME=kubernetes
source $KUBE_HOME/cfg/proxy
nohup $KUBE_HOME/bin/kube-proxy $KUBE_PROXY_ARGS &

##停止服务

#!/bin/bash
kill -9 ` ps -ef | grep kube-proxy | grep -v grep | awk '{print $2}'`

3) master 节点配置
#将 kubelet-bootstrap 用户绑定到系统集群角色
kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrapper \
--user=kubelet-bootstrap
kubectl create clusterrolebinding system:anonymous --clusterrole=cluster-admin --
user=system:anonymous
##approve kubelet CSR 请求
#查看 CSR 列表:
kubectl get csr
kubectl certificate approve ${csrname}
kubectl get csr
#查看集群状态
kubectl get node,cs

k8s记录-node组件部署(十)的更多相关文章

  1. k8s记录-master组件部署(八)

    在 192.168.0.1 app 用户下执行1)程序准备tar zxvf kubernetes-server-linux-amd64.tar.gzmv kubernetes/server/bin/{ ...

  2. k8s记录-kubeam方式部署k8s

    参考:https://blog.csdn.net/networken/article/details/84991940 # k8s工具部署方案 # 1.集群规划 | **服务器** | || ---- ...

  3. K8s二进制部署单节点 master组件 node组件 ——头悬梁

    K8s二进制部署单节点   master组件 node组件   --头悬梁 1.master组件部署 2.node   组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建maste ...

  4. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  5. Openstack组件部署 — Networking service_安装并配置Controller Node

    目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...

  6. Openstack组件部署 — Nova_Install and configure a compute node

    目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...

  7. K8s集群部署(三)------ Node节点部署

    之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...

  8. Openstack组件部署 — Networking service_Compute Node

    目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...

  9. Openstack组件部署 — Nova_安装和配置Controller Node

    目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...

随机推荐

  1. Docker容器的简单使用

    1. docker的使用 1> 创建容器 创建并启动容器: docker run -it -name 容器名 镜像: 版本  /bin/sh(bash) 创建并不启动容器:docker crea ...

  2. Linux必知必会--sed

    致沅弟:至于当大事,全在明强二字. --<曾国藩家书> 参考资料:https://man.linuxde.net/sed   https://www.jianshu.com/p/047cd ...

  3. Broadcast,Scatter,Gather,Reduce,All-reduce分别是什么?

    Broadcast 看名字就很好理解了,其实就是把同一份数据分发广播给所有人,示意图如下: Scatter 不同于Broadcast, scatter可以将不同数据分发给不同的进程. Gather 这 ...

  4. 前端知识--mulline框架,返回到前一个页面,并且刷新前一个页面

    最近在写项目的时候,遇到了这样一个问题,在第二页面修改完了数据之后,点击返回按钮的时候,第一个页面要返显出第一个页面的数据,这想想其实也不是很难,但是,难就难在,这两个页面是同时打开的.关闭了一个页面 ...

  5. Spring AOP中JoinPoint的用法

    Spring JoinPoint的用法 JoinPoint 对象 JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的 ...

  6. OpenCV 学习笔记(10)HSV颜色空间及颜色空间转换(RGB-HSV)

    1.1 颜色空间介绍 RGB 颜色空间是大家最熟悉的颜色空间,即三基色空间,任何一种颜色都可以由该三种 颜色混合而成.然而一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,HSV(色 调 H ...

  7. springdata--xml配置

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  8. 华三NAT总结

    1.保证网络之间的连通性,可以用动态路由协议使网络连通. 2.配置一条默认路由到外网. ip route-static 0.0.0.0 0 210.33.44.2 3.进入连接外网的端口,把这个端口设 ...

  9. ex3

    #include <stdio.h> int main() { char ch; printf("please input:\n"); scanf("%c&q ...

  10. Nginx服务器作反向代理实现内部局域网的url转发配置

    情景 由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的非80端口.非80 ...