日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

在Ubuntu18上搭建K8s集群(1.19.3)

發(fā)布時(shí)間:2024/4/11 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Ubuntu18上搭建K8s集群(1.19.3) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境準(zhǔn)備

為了演示簡(jiǎn)單,準(zhǔn)備兩臺(tái)4GB內(nèi)存,20GB硬盤的虛擬機(jī),操作系統(tǒng)為ubuntu18.04-server

角色I(xiàn)PHostName
Master192.168.47.144master-k8s
Node192.168.47.145node1-k8s

前置準(zhǔn)備

前置準(zhǔn)備部分在master和node1都要分別執(zhí)行:

  • 換源
  • sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo vim /etc/apt/sources.list # 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse sudo apt update && sudo apt upgrade
  • 配置靜態(tài)IP
  • 設(shè)置root用戶密碼,并使用root用戶登錄

    sudo passwd root su root

    分別配置master和node1的靜態(tài)ip:

    vim /etc/netplan/00-installer-config.yaml # master-k8s network:ethernets:ens33:addresses: [192.168.47.144/24]dhcp4: falsegateway4: 192.168.47.2nameservers:addresses: [192.168.47.2]optional: trueversion: 2 # node1-k8s network:ethernets:ens33:addresses: [192.168.47.145/24]dhcp4: falsegateway4: 192.168.47.2nameservers:addresses: [192.168.47.2]optional: trueversion: 2

    應(yīng)用剛才的修改

    netplan apply
  • 修改hostname和host
  • vim /etc/hostname vim /etc/hosts

    添加以下兩行(根據(jù)自己的ip和hostname修改)

    192.168.47.144 master-k8s 192.168.47.145 node1-k8s

    重啟機(jī)器使改動(dòng)生效

  • 測(cè)試下兩臺(tái)虛擬機(jī)是否互通,是否能連網(wǎng)
  • cws@master-k8s:~$ ping 192.168.47.145 PING 192.168.47.145 (192.168.47.145) 56(84) bytes of data. 64 bytes from 192.168.47.145: icmp_seq=1 ttl=64 time=0.459 ms 64 bytes from 192.168.47.145: icmp_seq=2 ttl=64 time=0.355 ms 64 bytes from 192.168.47.145: icmp_seq=3 ttl=64 time=1.76 ms 64 bytes from 192.168.47.145: icmp_seq=4 ttl=64 time=0.346 ms 64 bytes from 192.168.47.145: icmp_seq=5 ttl=64 time=0.375 ms ^C --- 192.168.47.145 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4070ms rtt min/avg/max/mdev = 0.346/0.659/1.760/0.551 ms cws@master-k8s:~$ ping www.baidu.com PING www.a.shifen.com (163.177.151.110) 56(84) bytes of data. 64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=1 ttl=128 time=7.83 ms 64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=2 ttl=128 time=8.11 ms 64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=3 ttl=128 time=7.75 ms 64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=4 ttl=128 time=8.01 ms 64 bytes from 163.177.151.110 (163.177.151.110): icmp_seq=5 ttl=128 time=7.80 ms ^C --- www.a.shifen.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 7.759/7.904/8.111/0.145 ms
  • 禁止交換分區(qū)
  • vim /etc/fstab

    注釋掉最后一行

    安裝docker

    安裝docker也要分別在master和node1分別執(zhí)行

    > curl -fsSL https://get.docker.com | sudo sh -s -- --mirror Aliyun > sudo usermod -aG docker $USER > sudo mkdir -p /etc/docker > sudo tee /etc/docker/daemon.json <<-'EOF'{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2","registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]}EOF > sudo systemctl daemon-reload > sudo systemctl restart docker

    檢查docker是否安裝成功

    cws@master-k8s:~$ sudo docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 0e03bdcc26d7: Pull complete Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d Status: Downloaded newer image for hello-world:latestHello from Docker! This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/

    安裝k8s

  • 安裝k8s組件(分別在master和node1執(zhí)行)
  • # 添加并信任APT證書 > curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -# 添加源地址 > sudo add-apt-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"# 更新源并安裝(可以改成自己需要的版本) > sudo apt update && sudo apt install -y kubeadm=1.19.3-00 kubectl=1.19.3-00 kubelet=1.19.3-00# 添加 completion > source <(kubectl completion bash) > source <(kubeadm completion bash)
  • Master 節(jié)點(diǎn)啟動(dòng)
    這一步在master執(zhí)行,注意修改成自己的ip
  • sudo kubeadm init --apiserver-advertise-address 192.168.47.144 \--pod-network-cidr=10.244.0.0/16 \--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers > sudo mkdir -p $HOME/.kube > sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config > sudo chown $(id -u):$(id -g) $HOME/.kube/config

    記錄輸出的橙色框中內(nèi)容,待會(huì)會(huì)用到

  • 安裝網(wǎng)絡(luò)插件(Flannel 插件)
    在master執(zhí)行
  • # kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml # 這里這個(gè)網(wǎng)址被墻了,需要下載kube-flannel.yml到本地,或者找一個(gè)能訪問(wèn)的地址來(lái)替換 # 我找到一個(gè)gitee上的可自行嘗試: kubectl apply -f https://gitee.com/lm_py/kube-flannel.yaml/raw/master/kube-flannel.yml
  • 將node節(jié)點(diǎn)加入集群
    在node1,執(zhí)行前面我們記錄下的代碼,這里要用root登錄
  • kubeadm join 192.168.47.144:6443 --token napprp.yj4u91sk5n1fq9ya \ > --discovery-token-ca-cert-hash sha256:4706f26a51a2303a2c79ea8137206d250450994bec9861ee3981cf934ae1ff89
  • 在master上 檢查一下是否成功
  • cws@master-k8s:~$ kubectl get nodes NAME STATUS ROLES AGE VERSION master-k8s Ready master 14m v1.19.3 node1-k8s Ready <none> 96s v1.19.3cws@master-k8s:~$ kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE coredns-6c76c8bb89-l8pz9 1/1 Running 0 17m coredns-6c76c8bb89-mv2lz 1/1 Running 0 17m etcd-master-k8s 1/1 Running 0 17m kube-apiserver-master-k8s 1/1 Running 0 17m kube-controller-manager-master-k8s 1/1 Running 0 17m kube-flannel-ds-tzn5b 1/1 Running 0 11m kube-flannel-ds-x8n2w 1/1 Running 0 4m18s kube-proxy-8dwtc 1/1 Running 0 17m kube-proxy-vz5jx 1/1 Running 0 4m18s kube-scheduler-master-k8s 1/1 Running 0 17mcws@master-k8s:~$ kubectl get pods -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-6c76c8bb89-l8pz9 1/1 Running 0 93m kube-system coredns-6c76c8bb89-mv2lz 1/1 Running 0 93m kube-system etcd-master-k8s 1/1 Running 0 93m kube-system kube-apiserver-master-k8s 1/1 Running 0 93m kube-system kube-controller-manager-master-k8s 1/1 Running 0 93m kube-system kube-flannel-ds-tzn5b 1/1 Running 0 86m kube-system kube-flannel-ds-x8n2w 1/1 Running 0 80m kube-system kube-proxy-8dwtc 1/1 Running 0 93m kube-system kube-proxy-vz5jx 1/1 Running 0 80m kube-system kube-scheduler-master-k8s 1/1 Running 0 93m

    到這里集群就搭建成功了

    測(cè)試集群

    在Kubernetes集群中創(chuàng)建一個(gè)pod,驗(yàn)證是否正常運(yùn)行:
    在master執(zhí)行

    $ kubectl create deployment nginx --image=nginx $ kubectl expose deployment nginx --port=80 --type=NodePort $ kubectl get pod,svc


    片刻后,可以看到輸出了端口號(hào)
    訪問(wèn)地址:http://NodeIP:Port,(我的是192.168.47.145:31984)
    可以看到nginx的歡迎頁(yè)面,說(shuō)明成功

    總結(jié)

    以上是生活随笔為你收集整理的在Ubuntu18上搭建K8s集群(1.19.3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。