二进制部署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

安装docker
所有机器节点都执行
部署Flannel网络
部署flannel网络需要用etcd存储一个子网信息,所以要保证能成功连接etcd

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

将kubelet-bootstrap用户绑定到系统集群角色
创建kubeconfig文件
在生成kubernetes证书的目录下执行以下命令生成kubeconfig文件
部署kubelet组件
部署kube-proxy组件
部署coredns
执行下面操作部署
运行测例测试
访问集群中部署的Nginx,打开浏览器输入:http://192.168.31.32:43614

最后更新于
这有帮助吗?