zoukankan      html  css  js  c++  java
  • Kubernetes集群搭建之系统初始化配置篇

    image

    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使用。

    如下图所示:

    image

    安装要求


    在所有节点上统一安装 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环境搭建


    使用阿里云源

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

    做好各节点ssh互信

    $ ssh-keygen$ ssh-copy-id -i root@192.168.209.129$ ssh-copy-id -i root@192.168.209.130$ ssh-copy-id -i root@192.168.209.131$ ssh-copy-id -i root@192.168.209.132$ ssh-copy-id -i root@192.168.209.133
    

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

    END

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

    image

  • 相关阅读:
    SQL Server Audit监控触发器状态
    SQL Server 数据变更时间戳(timestamp)在复制中的运用
    SQL Server 更改跟踪(Chang Tracking)监控表数据
    SQL Server 变更数据捕获(CDC)监控表数据
    SQL Server 事件通知(Event notifications)
    SQL Server 堆表行存储大小(Record Size)
    SQL Server DDL触发器运用
    SQL Server 默认跟踪(Default Trace)
    SQL Server 创建数据库邮件
    SQL Server 跨网段(跨机房)FTP复制
  • 原文地址:https://www.cnblogs.com/guigujun/p/10502933.html
Copyright © 2011-2022 走看看