まず、環境の説明
第二に、システムが初期化される(マスター、ノード1、ノード2)
1.猫の/ etc / hosts
192.168.1.136 K8S-master01
192.168.1.134 K8S-node1の
192.168.1.137 K8S-node2で
192.168.1.25 hub.testwang.com
前記取付ベースの依存関係
yumをインストール-y接続追跡にntpdate NTP ipvsadmのipset JQ iptablesのカールsysstatのlibseccomp wgetのvimのネットツールgitの
3.設定iptablesのルールをファイアウォールと空の設定します
systemctl停止firewalld && systemctl無効firewalld
yumをiptablesの-サービスをインストール-y &&開始systemctl iptablesの&& systemctl iptablesの有効
なセーブ&&のiptables -F &&サービスのiptablesを
4.閉じるのselinux
するswapoff -a &&のsed -i '/スワップ/ S / ^ \(。* \)$ /#\ 1 / G' の/ etc / fstabに
setenforce 0 &&のsed -iさん/ ^ SELINUX =。* / SELINUX =無効/ 'は/ etc / selinuxを/ configに
カーネルパラメータ最適化
modprobe br_netfilter
猫> kubernetes.conf << EOF
net.bridge.bridge-NF-コールのiptables = 1
NF-コール- 。net.bridge.bridge ip6tablesを= 1は
net.ipv4.ip_forwardおよび=という名前の1。
net.ipv4.tcp_tw_recycle = 0
vm.swappiness =システムのみが、それを使用することを許可された場合にのみ、スワップ領域#0の使用を禁止OOM
vm.overcommit_memory =#1は、十分な物理メモリがいるかどうかチェックしません
vm.panic_on_oom = 0#OOM開く
fs.inotify.max_user_instances = 8192
fs.inotify.max_user_watches = 1048576
fs.file-MAX = 52706963
fs.nr_open = 52706963
net.ipv6.confを。 =。1 all.disable_ipv6
net.netfilter.nf_conntrack_max = 2310720
EOF
前記調整システムゾーン
#セット中国/上海のタイムゾーンは、
SET-タイムゾーンアジア/上海にtimedatectl
ハードウェアクロックに#現在のUTC時刻を
timedatectl SET-ローカル-RTC 0
#の再起動システムは、サービスの時間に依存
systemctl再起動rsyslogの
systemctl再起動crond
不要なサービスをオフに
systemctl停止postfix.serviceを&& systemctl無効postfix.serviceを
7.設定rsyslogdとsystemdにjournald
MKDIRは/ var /ログ/ジャーナル
は、mkdir /etc/systemd/journald.conf.d
CAT> /etc/systemd/journald.conf.d/99-prophet.conf << EOF
[雑誌]
#永続的にディスクに保存された
ストレージ永続=
#圧縮履歴ログ
を圧縮= yesの
SyncIntervalSec = 5メートル
RateLimitInterval = 1930
RateLimitBurst = 1000
#最大容量は10G
SystemMaxUse = 10G
#単一のログファイルの最大200M
SystemMaxFileSize = 200M
#時間ログの保存2週間
MaxRetentionSec = 2week
#syslogにフォワードログません
NO ForwardToSyslog =
8.システムは4.44をアップグレードするカーネル
RPM -Uvh:CentOSの7.xのシステムは、次のようなドッカー、Kubernetesの不安定性を、実行につながる、いくつかのカーネルで3.10.xバグが来る
http://www.elrepo.org/elrepo-release-7.0-3.el7。 elrepo.noarch.rpm
RPM -Uvh http://www.elrepo.org/elrepo-release-7.0
第三には、ドッキングウィンドウとK8Sをインストール
1. KUBE-プロキシオープン前提条件IPVS
modprobe br_netfilter
猫> /etc/sysconfig/modules/ipvs.modules << EOFの
#/ binに/ bashの!
modprobeは- ip_vs
のmodprobe - ip_vs_rr
のmodprobe - ip_vs_wrr
のmodprobe - ip_vs_sh
のmodprobe - nf_conntrack_ipv4
EOF
のchmod 755の/ etc /のsysconfig /モジュール/ipvs.modules && bashの/etc/sysconfig/modules/ipvs.modules && はlsmod | grepの-e ip_vs -e nf_conntrack_ipv4
2.安装ドッカ
yumを-yインストールにyum-utilsのデバイスマッパー永続データLVM2
のyum-config設定マネージャ\
--add-レポ\
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yumをyumをインストール-yドッキングウィンドウ-CE && -y更新
##创建の/ etc /ドッキングウィンドウ目录
ます。mkdirは/ etc /ドッキングウィンドウ
#配置デーモン。
猫> /etc/docker/daemon.json << EOF
{
"EXEC-OPTS":[ "native.cgroupdriver = systemdに"]、
"ログ・ドライバー": "JSONファイル"、
"ログOPTS":{
"最大サイズ": "100メートル"
}
}
EOF
ます。mkdir -p /etc/systemd/system/docker.service.d
#重启ドッキングウィンドウ服务
systemctlデーモンリロード&&
3. インストールKubeadm(マスタ-スレーブ構成)
猫<< EOF> /etc/yum.repos.d/kubernetes.repo
[kubernetes]
名= Kubernetes
BASEURL =のhttp://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64が
有効= 1
gpgcheck = 0
repo_gpgcheck = 0
gpgkey =のhttp://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key。 GPG
EOF
にyum -y kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1をインストール
kubelet.serviceを有効systemctl
4設定の初期設定ファイル
猫kubeadm-config.yaml
apiVersion:kubeadm.k8s.io/v1beta2 bootstrapTokens: - グループ: - システム:ブートストラッパ:kubeadm:デフォルトのノードトークン トークン:abcdef.0123456789abcdef TTL:24h0m0s 用途: - 署名 - 認証 種類:InitConfiguration localAPIEndpoint: advertiseAddress:192.168.1.136 bindPort:6443 nodeRegistration: criSocket:/var/run/dockershim.sock 名前:K8S-master01 汚染さ: - 効果:NoSchedule キー:node-role.kubernetes.io/master --- apiServer: timeoutForControlPlane:4m0s apiVersion:kubeadm.k8s.io/v1beta2 certificatesDir:の/ etc / kubernetes / PKI CLUSTERNAME:kubernetes controllerManager:{} DNS: タイプ:CoreDNS etcd: 地元: データ:は/ var / libに/ etcd imageRepository:k8s.gcr.io 種類:ClusterConfiguration kubernetesVersion:v1.15.3 ネットワーキング: dnsDomain:cluster.local podSubnet: "10.244.0.0/16" serviceSubnet:10.96.0.0/12 スケジューラ:{} --- apiVersion:kubeproxy.config.k8s.io/v1alpha1 種類:KubeProxyConfiguration featureGates: SupportIPVSProxyMode:真 モード:IPVS