二进制部署k8s

本文主要介绍了如何在centos上采用二进制搭建k8s集群。

软件环境

软件

版本

操作系统

CentOS7.6_x64

Docker

19-ce

Kubernetes

1.15.12

服务器角色

角色

IP

组件

k8s-master| 192.168.21.31| kube-apiserver,kube-controller-manager,kube-scheduler,etcd k8s-node1| 192.168.21.32| kubelet,kube-proxy,docker,flannel,etcd k8s-node2| 192.168.21.33 |kubelet,kube-proxy,docker,flannel,etcd

部署前环境配置

以下操作每台机器都需要执行

关闭swap

swapoff -a
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

关闭selinux

关闭防护墙

设置hosts

部署Etcd集群

下载证书生成工具

生成etcd证书

执行命令生成证书

master部署etcd

node节点部署etcd

upload-image

安装docker

所有机器节点都执行

部署Flannel网络

部署flannel网络需要用etcd存储一个子网信息,所以要保证能成功连接etcd

upload-image

Master节点上部署组件

生成证书

部署apiserver组件

部署scheduler组件

部署controller-manager组件

node节点上部署组件

Master apiserver启用TLS认证后,Node节点kubelet组件想要加入集群,必须使用CA签发的有效证书才能与apiserver通信,当Node节点很多时,签署证书是一件很繁琐的事情,因此有了TLS Bootstrapping机制,kubelet会以一个低权限用户自动向apiserver申请证书,kubelet的证书由apiserver动态签署。 upload-image

将kubelet-bootstrap用户绑定到系统集群角色

创建kubeconfig文件

在生成kubernetes证书的目录下执行以下命令生成kubeconfig文件

部署kubelet组件

部署kube-proxy组件

部署coredns

执行下面操作部署

运行测例测试

访问集群中部署的Nginx,打开浏览器输入:http://192.168.31.32:43614

upload-image

最后更新于

这有帮助吗?