一、系统环境初始化(k8s集群)
文章目录11.1 Master组件1.1Node组件2. 生产环境可部署Kubernetes集群的两种方式3. 安装要求4. 环境准备5. 操作系统初始化配置5.1 设置主机名5.2 设置hosts解析主机名5.3 关闭SELinux和防火墙5.4 关闭swap5.5 设置系统参数5.6 设置节点间的SSH免密码登录5.7 安装docker环境11.1 Master组件kubectl控制kuber
文章目录
1
1.1 Master组件
- kubectl
控制kubernetes集群
- API Server
主要负责接收、校验并响应所有的REST请求,结果状态被持久存储在etcd当中,所有资源增删改查的唯一入口
- Controller Manager
负责管理集群各种资源,保证资源处于预期的状态
- Schedule
资源调度,负责决定将Pod放到哪个Node上运行
1.1 Node组件
- kubelet
接收Schedule发送的node信息,根据信息创建和运行容器,并向master报告运行状态
- Kube-proxy
负责将访问的service的数据请求转发到后端的pod容器
2. 生产环境可部署Kubernetes集群的两种方式
目前生产部署Kubernetes集群主要有两种方式:
- kubeadm
Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。
官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
- 二进制包
从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。
Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。
3. 安装要求
在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
- 一台或多台机器,操作系统 CentOS7.x-86_x64
- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点
- 禁止swap分区
4. 环境准备
软件 | 版本 |
---|---|
操作系统 | CentOS Linux release 7.7.1611 (Core) |
Docker | 19-ce |
Kubernetes | 1.18 |
服务器整体规划:
角色 | IP | 组件 |
---|---|---|
k8s-master | 10.20.17.20 | kube-apiserver,kube-controller-manager,kube-scheduler,etcd |
k8s-node1 | 10.20.17.21 | kubelet,kube-proxy,docker etcd |
k8s-node2 | 10.20.17.22 | kubelet,kube-proxy,docker,etcd |
5. 操作系统初始化配置
5.1 设置主机名
根据规划设置主机名 (所有节点)
hostnamectl set-hostname <hostname>
5.2 设置hosts解析主机名
设置/etc/hosts保证主机名能够解析 (所有节点)
# cat /etc/hosts
10.20.17.20 k8s-master
10.20.17.21 k8s-node1
10.20.17.22 k8s-node2
5.3 关闭SELinux和防火墙
所有节点
# 关闭防火墙
systemctl disable firewalld 永久
systemctl stop firewalld 临时
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
5.4 关闭swap
所有节点
swapoff -a # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
5.5 设置系统参数
将桥接的IPv4流量传递到iptables的链 (所有节点)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 生效
5.6 设置节点间的SSH免密码登录
所有节点
ssh-keygen -t rsa
ssh-copy-id k8s-master
ssh-copy-id k8s-node1
ssh-copy-id k8s-node2
5.7 安装docker环境
所有节点
可为docker设置一个阿里云镜像加速器
# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
启动并设置开机启动
systemctl daemon-reload
systemctl start docker
systemctl enable docker
注:注册阿里云账号,获取专属加速地址阿里云镜像仓库
更多推荐
所有评论(0)