k8s记录-node组件部署(十)
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组件部署(十)的更多相关文章
- k8s记录-master组件部署(八)
在 192.168.0.1 app 用户下执行1)程序准备tar zxvf kubernetes-server-linux-amd64.tar.gzmv kubernetes/server/bin/{ ...
- k8s记录-kubeam方式部署k8s
参考:https://blog.csdn.net/networken/article/details/84991940 # k8s工具部署方案 # 1.集群规划 | **服务器** | || ---- ...
- K8s二进制部署单节点 master组件 node组件 ——头悬梁
K8s二进制部署单节点 master组件 node组件 --头悬梁 1.master组件部署 2.node 组件部署 k8s集群搭建: etcd集群 flannel网络插件 搭建maste ...
- 使用Kubeadm创建k8s集群之部署规划(三十)
前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...
- Openstack组件部署 — Networking service_安装并配置Controller Node
目录 目录 前文列表 前提条件 网络环境 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 ...
- Openstack组件部署 — Nova_Install and configure a compute node
目录 目录 前文列表 Prerequisites 先决条件 Install and configure a compute node Install the packages Edit the etc ...
- K8s集群部署(三)------ Node节点部署
之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...
- Openstack组件部署 — Networking service_Compute Node
目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Cont ...
- Openstack组件部署 — Nova_安装和配置Controller Node
目录 目录 前文列表 Prerequisites 先决条件 To create the databases To create the service credentials Create the C ...
随机推荐
- 使用kubeadm安装Kubernetes 1.15.3 并开启 ipvs
一.安装前准备 机器列表 主机名 IP node-1(master) 1.1.1.101 node-2(node) 1.1.1.102 node-3(node) 1.1.1.103 设置时区 cp / ...
- spring mvc @RequestMapping method 不写的话,默认GET、POST都支持,根据前端方式自动适应
@RequestMapping(value="/") method 不写的话,默认GET.POST都支持,根据前端方式自动适应.
- 项目中有私有仓库模块时,使用 npm ci 命令的安装步骤
项目中有私有仓库模块时,使用 npm ci 命令的安装步骤: 先安装私有仓库模块:npm install <npm包名> --registry=<npm包源> 再运行命令:np ...
- POJ - 1981 :Circle and Points (圆的扫描线) hihocoder1508
题意:给定N个点,然后给定一个半径为R的圆,问这个圆最多覆盖多少个点. 思路:在圆弧上求扫描线. 如果N比较小,不难想到N^3的算法. 一般这种覆盖问题你可以假设有两个点在圆的边界上,那么每次产生的圆 ...
- 2019牛客暑期多校训练营(第一场):XOR(线性基)
题意:给定数组,求所有异或起来为0的集和的大小之和. 思路:由于是集合大小,我们换成考虑每个元素在多少个集合里有贡献. 先生成线性基. 对于没有插入线性基的元素x,贡献是2^(N-base-1),因为 ...
- CF472G Increase the Constraints
Increase the Constraints 定义两个等长的01字符串的汉明距离为它们字符不同的对应位置的个数. 给你两个01串S,T,现在有q个询问,每次指定S,T中两个定长的子串询问它们的汉明 ...
- Exception的异常分类与处理
一. 异常: 1:错误的分类 1)Error:错误(不可控),一般指的是系统方面的异常,比如 蓝屏,内存溢出,jvm运行环境出现了问题. 2) Exception ...
- typename T::SubType * ptr;
#include <iostream> using namespace std; template<class T> class MyClass{ public: typena ...
- mcp2515屏蔽寄存器和过滤寄存器的学习
mcp2515是can控制器,简单的来讲,就是只要配置好寄存器,芯片就能够自动的解析can数据帧,同时保存到接收缓存中,提醒单片机可以读取can的数据字节. 读取的方式是快速spi,可以达到10Mbi ...
- spi调试步骤,mcp2515调试整理
1.先查看也硬件电路,一般都是单片机作为master,其他芯片作为slave.单片机的MOSI对应从机的SI,单片机的MISO对应从机的SO,如果两个引脚接反了,那是怎么调试都没有效果的. 2.单片机 ...