本文开始部署kubernetes node.

在所有node服务器创建目录。

mkdir -p /etc/kubernetes/pki

拷贝master节点的ca-key.pem, ca.pem到/etc/kubernetes/pki/

拷贝master节点的bootstrap.conf到/etc/kubernetes/

下载kubelet

wget https://storage.googleapis.com/kubernetes-release/release/v1.8.4/bin/linux/amd64/kubelet -o /usr/local/bin/kubelet

chmod +x /usr/local/bin/kubelet

下载CNI

mkdir -p /opt/cni/bin

cd /opt/cni/bin

wget https://github.com/containernetworking/plugins/releases/download/v0.6.0/cni-plugins-amd64-v0.6.0.tgz

下载完成后解压到bin目录

创建目录

mkdir -p /var/lib/kubelet

mkdir -p /var/log/kubernetes

mkdir -p /etc/manifests

mkdir -p /etc/systemd/system/kubelet.service.d/

下载node的kubelet.service文件到/lib/systemd/system/

下载node的10-kubelet.conf到/etc/systemd/system/kubelet.service.d/

kubelet.service

[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=http://kubernetes.io/docs/[Service]
ExecStart=/usr/local/bin/kubelet
Restart=on-failure
StartLimitInterval=0
RestartSec=10[Install]
WantedBy=multi-user.target

10-kubelet.conf

[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--address=0.0.0.0 --port=10250 --kubeconfig=/etc/kubernetes/kubelet.conf --bootstrap-kubeconfig=/etc/kubernetes/bootstrap.conf"
Environment="KUBE_LOGTOSTDERR=--logtostderr=true --v=0"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --anonymous-auth=false"
Environment="KUBELET_POD_CONTAINER=--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.0"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.pem"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CERTIFICATE_ARGS=--rotate-certificates=true --cert-dir=/var/lib/kubelet/pki"
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false --serialize-image-pulls=false"
Environment="KUBE_NODE_LABEL=--node-labels=node-role.kubernetes.io/node=true"
ExecStart=
ExecStart=/usr/local/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBE_LOGTOSTDERR $KUBELET_POD_CONTAINER $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_EXTRA_ARGS $KUBE_NODE_LABEL

systemctl enable kubelet

systemctl start kubelet

接下来在master节点对node节点进行授权

kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap

kubectl get csr | awk '/Pending/ {print $1}' | xargs kubectl certificate approve

看到以上界面说明添加成功。

接下来安装kube-proxy

在master节点生成kube-proxy私钥和证书

/etc/kubernetes/pki/kube-proxy-csr.json

{"CN":"system:kube-proxy","key":{"algo":"rsa","size":2048},"names":[{"C":"CN","ST":"Shanghai","L":"Shanghai","O":"system:kube-proxy","OU":"Kubernetes-manual"}]}

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-proxy-csr.json | cfssljson -bare kube-proxy

生成kubeconfig文件kube-proxy.conf

kubectl config set-cluster kubernetes --certificate-authority=ca.pem --embed-certs=true --server="https://10.0.0.210:6443" --kubeconfig=../kube-proxy.conf
kubectl config set-credentials system:kube-proxy --client-key=kube-proxy-key.pem --client-certificate=kube-proxy.pem --embed-certs=true --kubeconfig=../kube-proxy.conf
kubectl config set-context system:kube-proxy@kubernetes --cluster=kubernetes --user=system:kube-proxy --kubeconfig=../kube-proxy.conf
kubectl config use-context system:kube-proxy@kubernetes --kubeconfig=../kube-proxy.conf

把pki/kube-proxy.pem和pki/kube-proxy-key.pem拷贝到每台node的/etc/kubernetes/pki/下面

把kube-proxy.conf拷贝到每台node的/etc/kubernetes/下面

接下来,在master节点通过kubectl来创建kube-proxy daemon

mkdir -p /etc/kubernetes/addons

cd /etc/kubernetes/addons

kube-proxy.yml

apiVersion: v1
kind: ServiceAccount
metadata:name: kube-proxylabels:k8s-app: kube-proxykubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcilenamespace: kube-system
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:name: kube-proxylabels:k8s-app: kube-proxykubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcilenamespace: kube-system
spec:selector:matchLabels:k8s-app: kube-proxytemplateGeneration: 1updateStrategy:rollingUpdate:maxUnavailable: 1type: RollingUpdatetemplate:metadata:labels:k8s-app: kube-proxyannotations:scheduler.alpha.kubernetes.io/critical-pod: ''spec:serviceAccountName: kube-proxyhostNetwork: truecontainers:- name: kube-proxyimage: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.8.4command:- kube-proxy- --v=0- --logtostderr=true- --kubeconfig=/run/kube-proxy.conf- --cluster-cidr=10.244.0.0/16- --proxy-mode=iptablesimagePullPolicy: IfNotPresentsecurityContext:privileged: truevolumeMounts:- mountPath: /run/kube-proxy.confname: kubeconfigreadOnly: true- mountPath: /etc/kubernetes/pkiname: k8s-certsreadOnly: truednsPolicy: ClusterFirstrestartPolicy: AlwaysterminationGracePeriodSeconds: 30volumes:- hostPath:path: /etc/kubernetes/kube-proxy.conftype: FileOrCreatename: kubeconfig- hostPath:path: /etc/kubernetes/pkitype: DirectoryOrCreatename: k8s-certs

kubectl apply -f kube-proxy.yml

kubernetes node安装完成。

kubernetes1.8.4 安装指南 -- 7. kubernetes node安装相关推荐

  1. kubernetes1.8.4 安装指南 -- 6. 安装kubernetes master

    接下来安装kubernetes master的3个核心组件,分别是apiserver, controller-manager, scheduler. mkdir -p /etc/kubernetes/ ...

  2. kubernetes1.8.4 安装指南 (基于静态Pod方式安装)

    目录 1. 环境说明 http://blog.csdn.net/chenhaifeng2016/article/details/78752726 2. ssh免密登录 http://blog.csdn ...

  3. kubernetes1.5.2版本 yum install 方式安装部署 认证授权机制 安全模式 完整版

    https://www.sohu.com/a/316191121_701739 https://zhuanlan.zhihu.com/p/31046822 https://kubernetes.io/ ...

  4. kubernetes 的安装与部署

    文章目录 一.前置工作与注意事项 二.安装 1. 初始准备 2. docker安装 3. k8s安装 三.网络插件的安装 1. 常用网络插件 2. 插件安装 四.安装dashboard 1.注意事项 ...

  5. Kubernetes1.8.4安装指南 -- 1. 环境准备

    环境说明 角色 主机名 IP OS kubernetes master node210 10.0.0.210 centos 7.4 kubernetes node node211 10.0.0.211 ...

  6. Kubernetes -K8S安装部署及SpringCloud应用

    k set image deploy kubia nodejs=luksa/kubia:v2 一.Kubernetes - 一键安装Kubernetes集群 集群方案 使用三台物理机或VMware虚拟 ...

  7. 【Kubernetes离线安装】

    文章目录 离线安装Kubernetes 一.环境准备 二.配置ftp服务 三.Docker安装 四.部署Kubernetes 五.Kubernetes优化 六.配置kube-proxy ipvs 七. ...

  8. K8s(Kubernetes)虚拟机安装

    K8s(Kubernetes) 虚拟机安装 系统设置 1.关闭防火墙 2.关闭Selinux 3.关闭Swap分区 4.时间同步 服务器架构 1.服务器架构图 2.设置主机名 3.桥接设置 4.Mas ...

  9. kubernetes dashboard 安装

    环境: CentOS Linux release 7.3.1611 (Core) IP:192.168.0.103 [1]组件安装 yum install device-mapper yum inst ...

最新文章

  1. Android背景渐变色(shape,gradient)
  2. [HNOI2015]亚瑟王
  3. 斐波那契数列的3种求法及几种素数筛法
  4. linux安装汉语输入法,在linux中安装google拼音输入法
  5. 入微:探究文档中找不到的12c并行索引扫描新特性
  6. 009 - CSS预处理器less sass SAML SSO 单点登录 websocket socket.io
  7. Python和imutils获取图片的鸟瞰图
  8. 数学归纳法与算法设计
  9. mysql单机三实例_Mysql单机多实例
  10. chm打开秒退_用熊猫看书来看chm,却自动退出,什么原因?
  11. 人工智能之路学习计划
  12. Mac M1芯片处理器能用的Bridge 2020/2019 for mac 解决M1版MAC安装BR无法安装问题 完美支持M1芯片处理器
  13. 常见的面试问题————NLP篇(持续更新)
  14. linux下的buff/cache内存占用过高-手动清除释放内存
  15. ncut matlab,matlab call Ncut: Matrix is too large to convert to linear index.
  16. 小米注册极石汽车商标,是否为小米汽车的最终名称?
  17. taro 请务必在小程序页面中完善页面基础信息_小程序自定义导航栏(完美适配所有手机)...
  18. “视而不见”—有关不注意视盲现象的研究
  19. Linux at 命令C/C++实现 (在指定的时间执行命令)
  20. Signal ()函数用法和总结

热门文章

  1. Win7重启后IP地址无效
  2. 【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
  3. WSSv3 Technical Articles 系列文章
  4. TCP穿透NAT的C++版
  5. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
  6. 微型计算机与裸机,第一章 微型计算机基础
  7. 利用找因子来找方程解的个数
  8. 【Boost】boost库中智能指针——scoped_ptr
  9. 2_7 FlyweightMode 享元模式
  10. 秒杀多线程第五篇 经典线程同步 关键段CS