k8s的架构
除了核心组件,还有一些推荐的Add-ons
组件名称 | 说明 |
---|---|
kube-dns | 负责为整个集群提供DNS服务 |
Ingress Controller | 为服务提供外网入口 |
Heapster | 提供资源监控 |
Dashboard | 提供GUI |
Federation | 提供跨可用区的集群 |
Fluentd-elasticsearch | 提供集群日志采集、存储与查询 |
环境准备
服务器系统 | Centos7.5 |
---|---|
内存 | 2.6G |
CPU | 2核 |
IP地址 | 192.168.46.131 |
服务 | k8s-master |
服务器系统 | Centos7.5 |
---|---|
内存 | 2.6G |
CPU | 2核 |
IP地址 | 192.168.46.140 |
服务 | k8s-node-1 |
服务器系统 | Centos7.5 |
---|---|
内存 | 2.6G |
CPU | 2核 |
IP地址 | 192.168.46.160 |
服务 | k8s-node-2 |
修改IP地址、主机名和host解析
192.168.46.131 k8s-master
192.168.46.140 k8s-node-1
192.168.46.160 k8s-node-2
master节点安装etcd
编辑修改配置文件
vim /etc/etcd/etcd.conf
6行:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
21行:ETCD_ADVERTISE_CLIENT_URLS="http://192.168.46.131:2379"
启动etcd服务并设置为开机自启动
systemctl start etcd.service
systemctl enable etcd.service
etcdctl set testdir/testkey0 0
etcdctl get testdir/testkey0
etcdctl -C http://192.168.46.131:2379 cluster-health
master节点安装kubernetes
yum install kubernetes-master.x86_64 -y
vim /etc/kubernetes/apiserver
vim /etc/kubernetes/config
systemctl enable kube-apiserver.service
systemctl restart kube-apiserver.service
systemctl enable kube-controller-manager.service
systemctl restart kube-controller-manager.service
systemctl enable kube-scheduler.service
systemctl restart kube-scheduler.service
检查服务是否安装正常
kubectl get componentstatus
node节点安装kubernetes
yum install kubernetes-node.x86_64 -y
编辑修改配置文件140、160node节点
vim /etc/kubernetes/config
22行:KUBE_MASTER="--master=http://192.168.46.131:8080"
编辑修改配置文件140、160node节点
vim /etc/kubernetes/kubelet
systemctl enable kubelet.service
systemctl restart kubelet.service
systemctl enable kube-proxy.service
systemctl restart kube-proxy.service
关闭“master“、“node” 节点防火墙和selinux
systemctl stop firewalld
setenforce 0
在master节点检查
kubectl get nodes