Kubernetes技术栈
  • 序章
  • Kubernetes 架构快速了解
  • 十分钟带你了解什么是kubernetes
  • 如何快速了解Kubernetes架构
  • 企业级镜像私有仓库Harbor
  • 二进制分布式安装Kubernetes1.13.10
    • 准备工作
  • 使用Kubeadm安装Kubernetes1.13.10
    • 准备工作
    • 基础环境设置
    • 安装高可用
    • 安装负载均衡
    • 安装Docker (Master/Node)
    • yum源安装kubeadm
    • Initialize第一个kubernetes master
    • 配置flannel组件
    • 加入集群
    • 配置dashboard
    • Master参与负载工作
    • 集群删除Node
  • Kubernetes 1.15.2 部署 Traefik2.0
  • Kubernetes1.15.2 监控(1)安装 Prometheus 2.11.1
  • Kubernetes 1.15.2监控(2)Monitor集群组件和PODS
  • kubernetes日志管理最佳实践EFK
  • Kubernetes1.15.2使用Ceph集群部署
  • Kubernetes1.15.2 中安装 jenkins 2.0
  • Kubernetes1.15.2使用jenkins 动态 slave
  • 什么是nginx-ingress控制器
  • Kubernetes Permission Controler概览
  • Permission Controler-通过Instance理解Kubernetes的Auth
  • Permission Controler-通过Instance理解Kubernetes的授权
  • Permission Controler-探索Kubernetes的Service Accounts
  • Kubernetes与Istio微服务架构
  • Kubernetes必须知道的HELM
Powered by GitBook
On this page

Was this helpful?

  1. 使用Kubeadm安装Kubernetes1.13.10

基础环境设置

Kubernetes 需要一定的环境来保证正常运行,如各个节点时间同步,主机名称解析,关闭防火墙等等。

主机名称解析

分布式系统环境中的多主机通信通常基于主机名称进行,这在 IP 地址存在变化的可能 性时为主机提供了固定的访问人口,因此一般需要有专用的 DNS 服务负责解决各节点主机 不过,考虑到此处部署的是测试集群,因此为了降低系复杂度,这里将基于 hosts 的文件进行主机名称解析。

修改hosts

分别进入你的,服务器,进入 /etc/hosts 进行编辑

vim /etc/hosts

192.168.1.100    master.k8s.io      k8s-vip
192.168.1.101    master01.k8s.io    k8s-master-01
192.168.1.102    master02.k8s.io    k8s-master-02
192.168.1.103    node01.k8s.io      k8s-node-01
192.168.1.104    node02.k8s.io      k8s-node-02
192.168.1.105    harbor.k8s.io      k8s-harbo

修改hostname

分别进入不同的服务器修改 hostname 名称

# 修改 192.168.1.101 服务器
hostnamectl  set-hostname  k8s-master-01
# 修改 192.168.1.102 服务器
hostnamectl  set-hostname  k8s-master-02

# 修改 192.168.1.103 服务器
hostnamectl  set-hostname  k8s-node-01
# 修改 192.168.1.104 服务器
hostnamectl  set-hostname  k8s-node-02

主机时间同步

将各个服务器的时间同步,并设置开机启动同步时间服务

关闭防火墙服务

停止并禁用防火墙

systemctl start chronyd.service
systemctl enable chronyd.service

systemctl stop firewalld
systemctl disable firewalld

关闭并禁用SELinux

# 若当前启用了 SELinux 则需要临时设置其当前状态为 permissive
setenforce 0

# 编辑/etc/sysconfig selinux 文件,以彻底禁用 SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

# 查看selinux状态
getenforce 

如果为permissive,则执行reboot重新启动即可

禁用 Swap 设备

kubeadm 默认会预先检当前主机是否禁用了 Swap 设备,并在未用时强制止部署 过程因此,在主机内存资惊充裕的条件下,需要禁用所有的 Swap 设备

# 关闭当前已启用的所有 Swap 设备
swapoff -a && sysctl -w vm.swappiness=0
# 编辑 fstab 配置文件,注释掉标识为 Swap 设备的所有行
sed -i 's/.*swap.*/#&/' /etc/fstab
cat /etc/fstab

设置系统参数

设置允许路由转发,不对bridge的数据进行处理

创建 /etc/sysctl.d/k8s.conf 文件

vim /etc/sysctl.d/k8s.conf

net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

启用br_netfilter,

modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf
ls /proc/sys/net/bridge

资源配置文件

/etc/security/limits.conf 是 Linux 资源使用配置文件,用来限制用户对系统资源的使用

echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "* soft nproc 65536"  >> /etc/security/limits.conf
echo "* hard nproc 65536"  >> /etc/security/limits.conf
echo "* soft  memlock  unlimited"  >> /etc/security/limits.conf
echo "* hard memlock  unlimited"  >> /etc/security/limits.conf

自centos7.3 以后,普通用户登录,会被/etc/security/limits.d/20-nproc.conf文件覆盖,需要在修改一下此文件

echo "* soft nofile 65536" >> /etc/security/limits.d/20-nproc.conf
echo "* hard nofile 65536" >> /etc/security/limits.d/20-nproc.conf
echo "* soft nproc 65536"  >> /etc/security/limits.d/20-nproc.conf
echo "* hard nproc 65536"  >> /etc/security/limits.d/20-nproc.conf
echo "* soft  memlock  unlimited"  >> /etc/security/limits.d/20-nproc.conf
echo "* hard memlock  unlimited"  >> /etc/security/limits.d/20-nproc.conf

安装依赖包以及相关工具

yum install -y epel-release
yum install -y yum-utils device-mapper-persistent-data lvm2 net-tools conntrack-tools wget vim  ntpdate libseccomp libtool-ltdl

Previous准备工作Next安装高可用

Last updated 5 years ago

Was this helpful?