Kubernetes集群搭建之系统初始化配置篇

释放双眼,带上耳机,听听看~!

Kubernetes的几种部署方式

1. minikube

Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。

2. kubeadm

Kubeadm也是一个工具,提供kubeadm init和kubeadm join指令,用于快速部署Kubernetes集群。

3. 二进制包

从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。

小结:

生产环境中部署Kubernetes集群,只有Kubeadm和二进制包可选,Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。所有本系列使用二进制包部署Kubernetes集群,也是比较推荐大家使用这种方式,虽然手动部署麻烦点,但学习很多工作原理,更有利于后期维护。

Kubernetes的介绍就不过多讲了,请移步官网。

开始部署之前我们还得准备初始化工作,这对于线上环境 这一步是必不可少的。

架构说明

本次系列实战环境由5台服务器组成,为高可靠设计,Etcd 集群,Kubernetes 三主节点,保证集群的高可用性。 ,(建议配置为4C16G)一台镜像仓库节点(建议配置为2C4G),一台应用节点(配置视情况而定),最好每个节点都挂个数据盘给Docker使用。

如下图所示:

安装要求 

在所有节点上统一安装 CentOS 7.X x86 64 位(推荐使用 Centos 7.6 ),且没有安装部署 过其它软件。

所有节点均安装 SSH 服务,可用 root 账号通过 SSH 方式登录

版本信息

系统版本 Centos7.6

Kubernetes: v1.13

Etcd: v3.3.12

Flanneld: v0.11.0

Docker: 18.09-ce

Harbor: v1.7.3

这次使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复【K8s实战】获取

初始化项主要有主机名修改,关闭SELinux及防火墙,limits设置,hosts配置, 服务器时区修改,主机历史命令配置

注意:需要5台都执行

主机名设置

192.168.209.129:$ hostnamectl set-hostname harbor-01192.168.209.130:$ hostnamectl set-hostname master-01192.168.209.131:$ hostnamectl set-hostname master-02192.168.209.132:$ hostnamectl set-hostname master-03192.168.209.133:$ hostnamectl set-hostname node-01

终端断下重连即生效

关闭SELinux及防火墙

$ systemctl status firewalld$ sed -i \'s/SELINUX=enforcing/SELINUX=disabled/\' /etc/selinux/config$ sed -i \'s/SELINUX=enforcing/SELINUX=disabled/\' /etc/sysconfig/selinux$ setenforce 0$ systemctl stop firewalld$ systemctl disable firewalld

limits设置

$ echo \"* soft nofile 65536\" >> /etc/security/limits.conf$ echo \"* hard nofile 65536\" >> /etc/security/limits.conf$ echo \"* soft noproc 65536\" >> /etc/security/limits.conf$ echo \"* hard noproc 65536\" >> /etc/security/limits.conf

终端断下重连即生效

hosts配置

$ echo \"192.168.209.129 harbor-01 hub.test.tech\" >> /etc/hosts$ echo \"192.168.209.130 master-01\" >> /etc/hosts$ echo \"192.168.209.131 master-02\" >> /etc/hosts$ echo \"192.168.209.132 master-03\" >> /etc/hosts$ echo \"192.168.209.133 node-01\" >> /etc/hosts

服务器时区修改

$ timedatectl set-timezone Asia/Shanghai

主机历史命令配置

$ USER_IP=`who -u am i 2>/dev/null| awk \'{print $NF}\'|sed -e \'s/[()]//g\'`$ HISTFILESIZE=4000 $ HISTSIZE=4000 $ HISTTIMEFORMAT=\"%F %T ${USER_IP} `whoami` \" $ export HISTTIMEFORMAT$ source /etc/profile

Docker环境搭建

使用阿里云源

[[email protected] ~]# cd /etc/yum.repos.d/[[email protected] ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Docker安装:[[email protected] ~]# yum install -y docker-ce# docker仓库地址配置# 设置docker私有仓库地址,需要加入如下, Harbor在下节会讲解[[email protected] ~]#cat >> /etc/docker/daemon.json<< EOF{\"insecure-registries\": [\"hub.test.tech\"]}EOF# 启动docker[[email protected] ~]#systemctl start docker

做好各节点ssh互信

$ ssh-keygen$ ssh-copy-id -i [email protected]$ ssh-copy-id -i [email protected]$ ssh-copy-id -i [email protected]$ ssh-copy-id -i [email protected]$ ssh-copy-id -i [email protected]

到这一步 初始化操作就结束啦,下一章介绍Harbor的部署使用,敬请期待后续分享,谢谢

END

如果你觉得文章还不错,请大家点『好看』分享下。你的肯定是我最大的鼓励和支持。

人已赞赏
站长资讯

Python之父重回决策层

2020-11-9 3:40:41

站长资讯

微服务探索与实践—总述

2020-11-9 3:40:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索