国产性生交xxxxx免费-国产中文字幕-啊灬啊灬啊灬快灬高潮了,亚洲国产午夜精品理论片在线播放 ,亚洲欧洲日本无在线码,色爽交视频免费观看

鍋爐信息網 > 鍋爐知識 > 鍋爐百科

k8s集群搭建

發布時間:

1.環境依賴1.1 給每一臺機器設置主機名hostnamectl set-hostname k8s-master01nhostnamectl set-hostname k8s-node01nhostnamect

1.環境依賴

1.1 給每一臺機器設置主機名

hostnamectl set-hostname k8s-master01nhostnamectl set-hostname k8s-node01nhostnamectl set-hostname k8s-node02n#查看主機名nhostnamen#配置IP host映射關系nvi /etc/hostsn192.168.192.128 k8s-master01n192.168.192.129 k8s-node01n192.168.192.130 k8s-node02

1.2 安裝依賴包

[root@k8s-master01 ~]# yum -y install conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

1.3 關閉防火墻、Selinux

[root@k8s-master01 ~]# systemctl stop firewalldn[root@k8s-master01 ~]# systemctl disable firewalldn[root@k8s-master01 ~]# yum -y install iptables-servicesn[root@k8s-master01 ~]# systemctl start iptablesn[root@k8s-master01 ~]# systemctl enable iptablesn[root@k8s-master01 ~]# iptables -F n[root@k8s-master01 ~]# service iptables saven[root@k8s-master01 ~]# setenforce 0n[root@k8s-master01 ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

1.4 關閉swap分區

#臨時關閉n[root@k8s-master01 ~]# swapoff -an#永久關閉n[root@k8s-master01 ~]# sed -i '/ swap / s/^(.*)$/#1/g' /etc/fstabn#確認,是否關閉n[root@k8s-master01 ~]# free -m

1.5 調整 swappiness 參數

# 臨時生效n[root@k8s-master01 ~]# echo 0 > /proc/sys/vm/swappinessn# 永久生效n[root@k8s-master01 ~]# vi /etc/sysctl.confnvm.swappiness=0n# 使配置生效n[root@k8s-master01 ~]# sysctl -p

1.6 調整內核參數,對于k8s

[root@k8s-master01 ~]# vi kubernetes.conf nnet.bridge.bridge-nf-call-iptables=1nnet.bridge.bridge-nf-call-ip6tables=1nnet.ipv4.ip_forward=1nnet.ipv4.tcp_tw_recycle=0n#禁止使用 swap 空間,只有當系統 OOM 時才允許使用它nvm.swappiness=0n#不檢查物理內存是否夠用nvm.overcommit_memory=1n# 開啟 OOMnvm.panic_on_oom=0nfs.inotify.max_user_instances=8192nfs.inotify.max_user_watches=1048576nfs.file-max=52706963nfs.nr_open=52706963nnet.ipv6.conf.all.disable_ipv6=1nnet.netfilter.nf_conntrack_max=2310720n?n[root@k8s-master01 ~]# cp kubernetes.conf /etc/sysctl.d/kubernetes.confn[root@k8s-master01 ~]# sysctl -p /etc/sysctl.d/kubernetes.conf

?? 錯誤及解決

[root@k8s-master01 ~]# modprobe br_netfilter

1.7 調整系統時區

# 設置系統時區為 中國/上海n[root@k8s-master01 ~]# timedatectl set-timezone Asia/Shanghain# 將當前的 UTC 時間寫入硬件時鐘n[root@k8s-master01 ~]# timedatectl set-local-rtc 0n# 重啟依賴于系統時間的服務n[root@k8s-master01 ~]# systemctl restart rsyslogn[root@k8s-master01 ~]# systemctl restart crond

1.8 關閉系統不需要服務

[root@k8s-master01 ~]# systemctl stop postfixn[root@k8s-master01 ~]# systemctl disable postfix

1.9 設置日志保存方式

# 創建保存日志的目錄n[root@k8s-master01 ~]# mkdir /var/log/journaln# 創建配置文件存放目錄n[root@k8s-master01 ~]# mkdir /etc/systemd/journald.conf.dn# 創建配置文件n[root@k8s-master01 ~]# cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOFn[Journal]n# 持久化保存到磁盤nStorage=persistentn# 壓縮歷史日志nCompress=yesnSyncIntervalSec=5mnRateLimitInterval=30snRateLimitBurst=1000n# 最大占用空間 10GnSystemMaxUse=10Gn# 單日志文件最大 200MnSystemMaxFileSize=200Mn# 日志保存時間 2 周nMaxRetentionSec=2weekn# 不將日志轉發到 syslognForwardToSyslog=nonEOF

1.10 升級系統內核為最新版本

[root@k8s-master01 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpmn# 安裝內核n[root@k8s-master01 ~]# yum --enablerepo=elrepo-kernel install -y kernel-ltn# 查看當前的所有內核版本,沒有可嘗試再次安裝n[root@k8s-master01 ~]# cat /boot/grub2/grub.cfg | grep menuentryn# 設置開機從新內核啟動n[root@k8s-master01 ~]# grub2-set-default 'CentOS Linux (5.4.127-1.el7.elrepo.x86_64) 7 (Core)'n# 重啟n[root@k8s-master01 ~]# rebootn# 查看系統版本n[root@k8s-master01 ~]# uname -r

1.11 kube-proxy 開啟 ipvs 前置條件

[root@k8s-master01 ~]# modprobe br_netfiltern[root@k8s-master01 ~]# cat > /etc/sysconfig/modules/ipvs.modules <<EOFn#!/bin/bashnmodprobe -- ip_vsnmodprobe -- ip_vs_rrnmodprobe -- ip_vs_wrrnmodprobe -- ip_vs_shnmodprobe -- nf_conntracknEOFn[root@k8s-master01 ~]# chmod 755 /etc/sysconfig/modules/ipvs.modules n[root@k8s-master01 ~]# bash /etc/sysconfig/modules/ipvs.modulesn# 使用lsmod命令查看這些文件是否被引導n[root@k8s-master01 ~]# lsmod | grep -e ip_vs -e nf_conntrack_ipv4

2.docker部署

2.1 安裝docker

[root@k8s-master01 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2n# 添加aliyun鏡像倉庫n[root@k8s-master01 ~]# yum-config-manager n--add-repo nhttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repon[root@k8s-master01 ~]# yum update -y && yum install -y docker-cen# 啟動dockern[root@k8s-master01 ~]#systemctl start dockern[root@k8s-master01 ~]#systemctl enable docker

2.2 設置docker daemon文件

# 更新daemon.json文件n[root@k8s-master01 ~]# cat > /etc/docker/daemon.json <<EOFn{n"exec-opts": ["native.cgroupdriver=systemd"],n"log-driver": "json-file",n"log-opts": {n"max-size": "100m"n}n}nEOFn# 創建,存儲docker配置文件n[root@k8s-master01 ~]# mkdir -p /etc/systemd/system/docker.service.dn# 重啟docker服務n[root@k8s-master01 ~]# systemctl daemon-reload && systemctl restart docker && systemctl enable docker

3. 安裝kubeadm

# 更新yum源n[root@k8s-master01 ~]# cat > /etc/yum.repos.d/kubernetes.repo <<EOFn[kubernetes]nname=Kubernetesnbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64nenabled=1ngpgcheck=0nrepo_gpgcheck=0ngpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpgnhttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgnEOFn# 安裝kubeadm、kubelet、kubectln[root@k8s-master01 ~]# yum update -yn[root@k8s-master01 ~]# yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1n# 啟動 kubeletn[root@k8s-master01 ~]# systemctl enable kubelet.service && systemctl start kubelet

4. 集群安裝

上傳鏡像壓縮包,把壓縮包中的鏡像導入到本地鏡像倉庫:kubeadm-basic.images.tar.gz

百度網盤鏈接:鏈接:https://pan.baidu.com/s/1SplTajkPv_RH96fozmMoLA 提取碼:grcd

寫一個腳本導入鏡像

[root@k8s-master01 ~]# vi load-images.sh n#!/bin/bashnls /root/kubeadm-basic.images > /tmp/images-list.txtncd /root/kubeadm-basic.imagesn?nfor i in $( cat /tmp/images-list.txt )ndon docker load -i $indonenrm -rf /tmp/images-list.txt

導入鏡像

[root@k8s-master01 ~]# chmod +x load-images.shn[root@k8s-master01 ~]# ./load-images.sh

初始化主節點 只需要在主節點執行

[root@k8s-master01 ~]# kubeadm config print init-defaults > kubeadm-config.yaml

修改模板

localAPIEndpoint:n advertiseAddress: 192.168.66.10 # 注意:修改配置文件的IP地址nkubernetesVersion: v1.15.1 #注意:修改版本號,必須和kubectl版本保持一致nnetworking:n # 指定flannel模型通信 pod網段地址,此網段和flannel網段一致n podSubnet: "10.244.0.0/16"n serviceSubnet: "10.96.0.0/12"n?n---n#指定使用ipvs網絡進行通信napiVersion: kubeproxy.config.k8s.io/v1alpha1nkind: kubeProxyConfigurationnfeatureGates:n SupportIPVSProxyMode: truenmode: ipvs

開始初始化 指定初始化的配置文件

[root@k8s-master01 ~]# kubeadm init --config=kubeadm-config.yaml --upload-certs | tee kubeadm-init.log

kubernetes主節點初始化成功后,如下所示:

按照k8s指示,執行下面的命令:

初始化成功后執行如下命令

[root@k8s-master01 ~]# mkdir -p $HOME/.kuben[root@k8s-master01 ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/confign[root@k8s-master01 ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/confign[root@k8s-master01 ~]# kubectl get nodenNAME STATUS ROLES AGE VERSIONnk8s-master01 NotReady master 2m9s v1.15.1

整理一下文件,把k8s初始化配置和日志保存起來。

[root@k8s-master01 ~]# mkdir install-k8sn[root@k8s-master01 ~]# mv kubeadm-config.yaml kubeadm-init.log install-k8s/n[root@k8s-master01 ~]# cd install-k8s/n[root@k8s-master01 install-k8s]# mkdir coren[root@k8s-master01 install-k8s]# mv kubeadm-* core/n[root@k8s-master01 install-k8s]# mkdir pluginn[root@k8s-master01 install-k8s]# mkdir flanneln[root@k8s-master01 install-k8s]# cd flannel/

flannel插件

#部署flannel網絡插件 — 只需要在主節點執行

[root@k8s-master01 flannel]# wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymln[root@k8s-master01 flannel]# kubectl create -f kube-flannel.yml npodsecuritypolicy.policy/psp.flannel.unprivileged creatednclusterrole.rbac.authorization.k8s.io/flannel creatednclusterrolebinding.rbac.authorization.k8s.io/flannel creatednserviceaccount/flannel creatednconfigmap/kube-flannel-cfg createdndaemonset.apps/kube-flannel-ds createdn[root@k8s-master01 flannel]# kubectl get pod -n kube-systemnNAME READY STATUS RESTARTS AGEncoredns-5c98db65d4-4hmsx 1/1 Running 0 6m1sncoredns-5c98db65d4-qw8lf 1/1 Running 0 6m1snetcd-k8s-master01 1/1 Running 0 4m54snkube-apiserver-k8s-master01 1/1 Running 0 5m5snkube-controller-manager-k8s-master01 1/1 Running 0 5m3snkube-flannel-ds-752lb 1/1 Running 0 45snkube-proxy-fcxnl 1/1 Running 0 6mnkube-scheduler-k8s-master01 1/1 Running 0 4m52sn[root@k8s-master01 flannel]# kubectl get nodenNAME STATUS ROLES AGE VERSIONnk8s-master01 Ready master 6m47s v1.15.1

查看網卡信息,就會發現多了一個flannel

加入主節點以及其余工作節點,執行安裝日志中的命令即可

#查看日志文件n[root@k8s-master01 core]# cat kubeadm-init.logn# 復制命令到其他幾個node節點進行執行即可n[root@k8s-node01 ~]# kubeadm join 192.168.140.128:6443 --token abcdef.0123456789abcdef n --discovery-token-ca-cert-hash sha256:a3d9827be411208258aea7f3ee9aa396956c0a77c8b570503dd677aa3b6eb6d8

在master查看節點

[root@k8s-master01 flannel]# kubectl get nodenNAME STATUS ROLES AGE VERSIONnk8s-master01 Ready master 14m v1.15.1nk8s-node01 Ready <none> 4m10s v1.15.1nk8s-node02 Ready <none> 46s v1.15.1


可能問題:

  1. 安裝過程中出現下列問題時

此報錯是因為安裝Kubeadm Init的時候,沒有增加 --pod-network-cidr 10.244.0.0/16參數或者kube-flannel.yml如果yml中的"Network": "10.244.0.0/16"--pod-network-cidr不一樣

解決方案:

修改靜態pod kube-controller-manager配置

vim /etc/kubernetes/manifests/kube-controller-manager.yaml

添加啟動參數如下:

- --allocate-node-cidrs=true n- --cluster-cidr=10.244.0.0/16

此處指定后,controller-manger會為集群下的每一個node分配一個子網段,體現在 kubectl get node k8s-node01 -o yaml | grep -i cid

2. 虛擬機ip變動問題

3. 向集群添加工作節點時

可能原因1:

kubeadm在使用過程中token的有效期只有24h,需要重新生成

kubeadm token create

上一篇:K8S 環境安裝

下一篇:k8s集群搭建

精選推薦

  • 711關東煮供應商
    711關東煮供應商

    今天給大家介紹三位,奶粉,全家、羅森這些便利店里關東煮的供應商。店里賣三四塊錢一串的關東煮,在網上買不到,一塊錢就搞定。首先關東

  • 健康日歷|高壓鍋容易爆炸的4個原因
    健康日歷|高壓鍋容易爆炸的4個原因

    來源:醫藥養生保健報設計:李雅琴醫學審核:姜峰出品人:胡麗麗

  • 高爐
    高爐

    今天這活卻是個白事,等到了時辰,那家人便準備火化,本來準備送普爐,我卻心中一動,便對那家人說道:“這老人走也不要省,還是送高爐吧。”

  • 高壓鍋和電壓力鍋的區別,推薦幾款點壓力鍋
    高壓鍋和電壓力鍋的區別,推薦幾款點壓

    記得之前有一次去朋友家玩,他正在用高壓鍋煮小米粥,是的,高壓鍋壓小米粥,大概煮了半小時,高壓鍋突然爆炸了,現場慘不忍睹啊,幸好廚房里沒

0