一、系统环境初始化(k8s集群)

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)
Docker19-ce
Kubernetes1.18

服务器整体规划:

角色IP组件
k8s-master10.20.17.20kube-apiserver,kube-controller-manager,kube-scheduler,etcd
k8s-node110.20.17.21kubelet,kube-proxy,docker etcd
k8s-node210.20.17.22kubelet,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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值