一、Kubernetes(k8s)
它主要由节点(就可以理解成一台主机,物理机、虚拟机等)构成,分为主节点和工作节点(或从节点)。k8s需要实现etcd集群来管理分布式配置,还需要外部的网络插件实现网络架构,如Overlay网络(Flannel)。主节点上包括API服务器(API Server)、控制器管理器(Controller-Manager)、调度程序(Scheduler,执行调度任务)、分布式键值数据库etcd(存储集群和集群状态的配置数据)、kubectl实用程序。在工作节点上包括kubelet(创建、启动、删除容器等)和kube-proxy(端口转发)、Pod(一个或多个容器)。
二、使用Kubeadm在CentOS7上快速安装k8s
环境准备:创建三台VM,并设置静态IP。
三台主机配置及安装的组件:
k8s-master(192.168.0.245)(8G内存+40G磁盘+2个CPU):包括etcd、kubectl等。注意主节点至少要2个CPU,否则会出问题。
k8s-worker1(192.168.0.246)(4G内存+40G磁盘+1个CPU):包括kubelet等。
k8s-worker2(192.168.0.247)(4G内存+40G磁盘+1个CPU):包括kubelet等。
配置静态IP示例:
编辑文件:etho是网卡名称
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改Onboot=yes,bootPROTO=static
添加如下内容:IPADDR需要更换
IPADDR=192.168.0.245
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络服务,若是重启网络服务不生效,最好重启电脑(reboot命令)
systemctl restart network
安装过程:
1.主节点上安装
(1)设置主机名并修改/etc/hosts文件、禁用SELinux、修改防火墙规则
修改主机名:
hostnamectl set-hostname ‘ks-master’
编辑/etc/hosts文件,添加以下内容(工作节点也要如此):
192.168.0.245 k8s-master
192.168.0.246 k8s-worker1
192.168.0.247 k8s-worker2
禁用SELinux:
setenforce 0
修改文件:vi /etc/sysconfigselinux,将SELINUX设为disabled
重启生效:reboot
修改防火墙规则:
firewall-cm --permanent --add-port=6443/tcp
firewall-cm --permanent --add-port=2379-2380/tcp
firewall-cm --permanent --add-port=10250/tcp
firewall-cm --permanent --add-port=10251/tcp
firewall-cm --permanent --add-port=10252/tcp
firewall-cm --permanent --add-port=10255/tcp
firewall-cmd --reload #重新加载防火墙
modprobe br_netfilter #生成文件/proc/sys/net/bridge/bridge-nf-call-iptables
echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables #写 1 进入文件/proc/sys/net/bridge/bridge-nf-call-iptables
(2)安装Docker
安装一些必要的系统工具:
<