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環境搭建
使用阿里雲源
[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 [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
如果你覺得文章還不錯,請大家點 『好看』 分享下。你的肯定是我最大的鼓勵和支援。