日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vmvare搭建k8s集群

發布時間:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vmvare搭建k8s集群 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 虛擬機安裝
    • 新建虛擬機
    • centos安裝
  • 環境準備
    • 子網組建
      • 宿主機網卡配置
      • 虛擬機網卡配置
  • 集群搭建
    • 基礎配置
    • kube相關配置

虛擬機安裝

新建虛擬機

自定義安裝就用默認空白光盤,然后選自己將用的版本;建議centos,而且得centos7以上,我用的是CentOS-7-x86_64-Minimal-1810.iso

如果上面搜狐鏡像的鏈接失效了,點擊進入另一篇博客,選一個就行。


虛擬機名稱自定義即可

下面的配置核心、內存、網絡、硬盤按要求來,其他默認就可以。


核心數必須大于1,建議4核
內存4G

網絡選僅主機

Host-Only模式其實就是NAT模式去除了虛擬NAT設備,然后使用VMware Network Adapter VMnet1虛擬網卡連接VMnet1虛擬交換機來與虛擬機通信的,Host-Only模式將虛擬機與外網隔開,使得虛擬機成為一個獨立的系統,只與主機相互通訊。


硬盤至少100G,選擇單個文件存儲

centos安裝

編輯虛擬機設置,選擇剛剛下載的鏡像

打開虛擬機,不測試直接安裝

選擇簡體中文

所有配置默認就行

設置一下root密碼

簡單一點的就行,不難容易忘記,我的就是111111


之后等待完成就可以

環境準備

子網組建

宿主機網卡配置

我的win7,VMware Network Adapter VMnet1還無法訪問外網,需要將寬帶連接共享給VMnet1

這一步我遇到了"無法啟用共享訪問 錯誤 0×80004005",開啟Windows Firewall服務服務即可解決,操作可見教程


由于共享了寬帶連接,VMnet1的ip變為192.168.137.1

需要在VMvare里的虛擬網絡編輯器將其子網ip也進行更改。同時取消掉DHCP

虛擬機網卡配置

編輯虛擬機的網卡

vi /etc/sysconfig/network-scripts/ifcfg-ens33

先更改這兩個參數

BOOTPROTO=static ONBOOT=yes

再根據自己的情況添加ip,網關就是VMnet1的ip,同時將其作為DNS1

IPADDR=192.168.137.10 NETMASK=255.255.255.0 GATEWAY=192.168.137.1 DNS1=192.168.137.1

保存退出后重啟reboot
檢查一下能否連接外網,比如ping www.baidu.com
ssh能否遠程連接,比如putty、xshell訪問看看

集群搭建

基礎配置

以下內容來自B站上的教學視頻

  • 設置主機名并配置域名映射
    hostnamectl set-hostname k8s-master01
    接著vim /ets/hosts
  • 192.168.137.10 k8s-master01 192.168.137.20 k8s-node01 192.168.137.21 k8s-node02
  • 安裝依賴包
    yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git
  • 關閉防火墻并為iptables設置空規則
  • systemctl stop firewalld && systemctl disable firewalld yum -y install iptables-services && \ systemctl start iptables && \ systemctl enable iptables && \ iptables -F && \ service iptables save\
  • 關閉SELINUX
  • 先關閉虛擬內存,避免容器運行在虛擬內存上報錯

    swapoff -a && \ sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

    再關閉SELINUX

    setenforce 0 && \ sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
  • 調整內核參數
  • 我這里直接將內容保存到了目標路徑,而不是先寫到家目錄再復制到sysctl.d下

    cat > /etc/sysctl.d/kubernetes.conf << EOF net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 net.ipv4.ip_forward=1 net.ipv4.tcp_tw_recycle=0 vm.swappiness=0 # 禁止使用 swap 空間,只有當系統 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.all.disable_ipv6=1 net.netfilter.nf_conntrack_max=2310720 EOF

    刷新一下

    sysctl -p /etc/sysctl.d/kubernetes.conf
  • 關閉系統不需要服務
  • 郵件服務在這里是不需要的,可以關閉

    systemctl stop postfix && systemctl disable postfix
  • 設置rsyslogd和systemd journald
  • mkdir /var/log/journal # 持久化保存日志的目錄 mkdir /etc/systemd/journald.conf.d cat > /etc/systemd/journald.conf.d/99-prophet.conf <<EOF [Journal] # 持久化保存到磁盤 Storage=persistent# 壓縮歷史日志Compress=yes SyncIntervalSec=5m RateLimitInterval=30s RateLimitBurst=1000# 最大占用空間 10G SystemMaxUse=10G# 單日志文件最大 200M SystemMaxFileSize=200M# 日志保存時間 2 周 MaxRetentionSec=2week# 不將日志轉發到 syslog ForwardToSyslog=no EOF systemctl restart systemd-journald
  • 升級內核
  • rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm # 安裝完成后檢查 /boot/grub2/grub.cfg 中對應內核 menuentry 中是否包含 initrd16 配置,如果沒有,再安裝一次!yum --enablerepo=elrepo-kernel install -y kernel-lt # 設置開機內核啟動 grub2-set-default 'CentOS Linux (4.4.189-1.el7.elrepo.x86_64) 7 (Core)'

    關閉克隆2臺,注意是完整克隆

    完成克隆后應該有三臺機器

    單獨啟動修改node的ip和主機名

    kube相關配置

    下面的需要在每臺機器上都執行

  • kube-proxy開啟ipvs的前置條件
  • modprobe br_netfiltercat > /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 EOFchmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
  • 安裝并啟動docker
  • yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum update -y && yum install -y docker-ce

    重啟,記得選4.4的內核
    設置開機自啟,并啟動docker

    systemctl enable docker && systemctl start docker

    配置 /etc/docker/daemon.json

    cat > /etc/docker/daemon.json << EOF { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" } } EOFmkdir -p /etc/systemd/system/docker.service.dsystemctl daemon-reload && systemctl restart docker && systemctl enable docker

    做完要重啟Linux服務器以啟用4.4內核
    3. 配置kubernetes yum源

    cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF

    安裝kubeadm、kubectl、kubelet

    yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1systemctl enable kubelet.service
  • 初始化主節點
  • 將kubeadm-basic.images放入解壓到家目錄下,編寫一個腳本來導入鏡像

    cat > load_images.sh << EOF #!/bin/bash ls ~/kubeadm-basic.images > /tmp/image-list.txt cd ~/kubeadm-basic.images for item in $( cat /tmp/image-list.txt) dodocker load -i $item done rm -rf /tmp/image-list.txt EOF

    覺得腳本導入麻煩也可以docker load *.jar
    執行這個腳本

    bash ~/load_images.sh

    導出初始配置文件:

    kubeadm config print init-defaults > kubeadm-config.yaml

    修改如下幾處

    添加的這一段如下

    --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration featureGates:SupportIPVSProxyMode: true mode: ipvs

    執行kubeadm初始化集群命令:

    kubeadm init --config=kubeadm-config.yaml \ --experimental-upload-certs | tee kubeadm-init.log
  • 加入主節點及其余工作節點
    這里復制日志中的就行
  • 部署網絡
  • mkdir -p install-k8s/core mv ~/kubeadm-config.yaml kubeadm-init.log ~/install-k8s/coremkdir -p install-k8s/plugin/flannel cd install-k8s/plugin/flannel wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    其中的yml文件需要科學上網才能下載,我這里給個百度網盤,最后

    鏈接:https://pan.baidu.com/s/1_7qEpgSwM7JaNovs4E_SEA
    提取碼:rros
    復制這段內容后打開百度網盤手機App,操作更方便哦

    kubectl create -f kube-flannel.yml

    總結

    以上是生活随笔為你收集整理的vmvare搭建k8s集群的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。