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 ...
随机推荐
- Cleaning Robot POJ - 2688
题目链接:https://vjudge.net/problem/POJ-2688 题意:在一个地面上,有一个扫地机器人,有一些障碍物,有一些脏的地砖,问,机器热能不能清扫所有的地砖, (机器人不能越过 ...
- kuangbin专题专题四 Currency Exchange POJ - 1860
题目链接:https://vjudge.net/problem/POJ-1860 大致题意:有不同的货币,有很多货币交换点,每个货币交换点只能两种货币相互交换,有佣金C,汇率R. 每次交换算一次操作, ...
- Xorequ(BZOJ3329+数位DP+斐波那契数列)
题目链接 传送门 思路 由\(a\bigoplus b=c\rightarrow a=c\bigoplus b\)得原式可化为\(x\bigoplus 2x=3x\). 又异或是不进位加法,且\(2x ...
- maven:读取程序版本号的三种方案
方案1在应用项目中,如果应用程序需要获取当前程序的版本号,可以读取”/META-INF/maven/${groupId}/${artifactId}/pom.properties“,获取maven生成 ...
- Beta冲刺(4/7)——2019.5.25
所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(4/7)--2019.5.25 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...
- php析构函数什么时候调用?
析构函数何时被调用 析构函数在下边3种情况时被调用: 对象生命周期结束,被销毁时: 主动调用delete :(推荐学习:PHP编程从入门到精通) 对象i是对象o的成员,o的析构函数被调用时,对象i的析 ...
- Proxy监听对象的数据变化,处理绑定数据很有用
Proxy可以监听对象身上发生了什么事情,并在这些事情发生后执行一些相应的操作.一下子让我们对一个对象有了很强的追踪能力,同时在数据绑定方面也很有用处. }; //interceptor 拦截 var ...
- async 珠峰培训node正式课笔记 【async】任务流程控制,异步流程控制
var async = require('async'); // series 串形任务 console.time('cost') async.series({ two:function(callba ...
- redux学你参考网站
redux官方网站 http://cn.redux.js.org/docs/api/combineReducers.html https://www.redux.org.cn 从设计的角度看Redux ...
- Gym100676 H. Capital City
感觉题目都已经快把正解给说出来了...strongly connected的两个点的消耗为0,其实就是同一个边双连通分量里面的点消耗为0.然后缩一下点,再树形DP一下就完了.第一次写边双,但感觉挺简单 ...