Kubernetes系列第4篇 Kubernetes集群安裝部署

      網(wǎng)友投稿 950 2022-05-30

      本文介紹了如何通過Kubespray來進(jìn)行部署高可用k8s集群,k8s版本為1.12.5。

      1、部署手冊(cè)

      代碼倉庫:github.com/kubernetes-…

      參考文檔:kubespray.io/#/

      2、k8s master機(jī)器配置

      3、k8s 集群安裝步驟

      step1: 設(shè)置主機(jī)間的免密登錄

      由于kubespray是依賴于ansible,ansible通過ssh協(xié)議進(jìn)行主機(jī)之間的訪問,所以部署之前需要設(shè)置主機(jī)之間免密登錄,步驟如下:

      ssh-keygen?-t?rsa scp?~/.ssh/id_rsa.pub?root@IP:/root/.ssh ssh?root@IP cat?/root/.ssh/id_rsa.pub?>>?/root/.ssh/authorized_keys

      step2: 下載kubespray

      注意:不要通過使用github倉庫master分支的代碼,我這里使用的是tag v2.8.3進(jìn)行部署

      wget?? tar?-xvf?v2.8.3 cd?kubespray-v2.8.3

      step3: 配置調(diào)整

      3.1 更換鏡像

      Kubernetes安裝大部分都是使用的國外的鏡像,由于防火墻原因沒有辦法獲取到這些鏡像,所以需要自己創(chuàng)建鏡像倉庫并將這些鏡像獲取到上傳到鏡像倉庫中。

      1) 新建鏡像倉庫

      鏡像倉庫我們選用的組件是Harbor,安裝步驟參考:

      github.com/goharbor/ha…

      2) 整理k8s集群部署中需要使用的鏡像

      在文件roles/download/defaults/main.yml文件中,可以看到使用的全量鏡像列表,注意某些鏡像由于功能未使用的原因所以暫時(shí)沒有用到,我們主要用到有如下鏡像:

      3)下載所需鏡像并上傳至私有鏡像倉庫

      使用的鏡像列表如下,在這里我申請(qǐng)了一臺(tái)國外的阿里云主機(jī),在該臺(tái)主機(jī)下載所需鏡像然后上傳至私有鏡像倉庫

      例如操作某個(gè)鏡像時(shí),需要執(zhí)行如下命令:

      docker?pull?gcr.io/google_containers/kubernetes-dashboard-amd64:v1.10.0 docker?tag?gcr.io/google_containers/kubernetes-dashboard-amd64:v1.10.0?106.14.219.69:5000/google_containers/kubernetes-dashboard-amd64:v1.10.0 docker?push?106.14.219.69:5000/google_containers/kubernetes-dashboard-amd64:v1.10.0

      4) 更改鏡像地址并修改Docker配置

      在inventory/testcluster/group_vars/k8s-cluster/k8s-cluster.yml文件中添加如下配置:

      #?kubernetes?image?repo?define kube_image_repo:?"10.0.0.183:5000/google_containers" ##?modified?by:?robbin #?comment:?將使?的組件的鏡像倉庫修改為私有鏡像倉庫地址 etcd_image_repo:?"10.0.0.183:5000/coreos/etcd" coredns_image_repo:?"10.0.0.183:5000/coredns" calicoctl_image_repo:?"10.0.0.183:5000/calico/ctl" calico_node_image_repo:?"10.0.0.183:5000/calico/node" calico_cni_image_repo:?"10.0.0.183:5000/calico/cni" calico_policy_image_repo:?"10.0.0.183:5000/calico/kube-controllers" hyperkube_image_repo:?"{{?kube_image_repo?}}/hyperkube-{{?image_arch?}}" pod_infra_image_repo:?"{{?kube_image_repo?}}/pause-{{?image_arch?}}" dnsautoscaler_image_repo:?"{{?kube_image_repo?}}/cluster-proportional-autoscaler-{{?image_arch?}}" dashboard_image_repo:?"{{?kube_image_repo?}}/kubernetes-dashboard-{{?image_arch?}}"

      由于我們的私有鏡像倉庫未配置https證書,需要在inventory/testcluster/group_vars/all/docker.yml文件中添加如下配置:

      docker_insecure_registries: -?10.0.0.183:5000

      3.2 Docker安裝源更改以及執(zhí)行文件預(yù)處理

      1) Docker安裝源更改

      由于默認(rèn)從Docker官方源安裝docker,速度非常慢,這里我們更換為國內(nèi)阿里源,在inventory/testcluster/group_vars/k8s-cluster/k8s-cluster.yml文件中添加如下配置:

      #?CentOS/RedHat?docker-ce?repo docker_rh_repo_base_url:?'https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable' docker_rh_repo_gpgkey:?'https://mirrors.aliyun.com/docker-ce/linux/centos/gpg' dockerproject_rh_repo_base_url:?'https://mirrors.aliyun.com/docker-engine/yum/repo/main/centos/7' dockerproject_rh_repo_gpgkey:?'https://mirrors.aliyun.com/docker-engine/yum/gpg'

      2)可執(zhí)行文件預(yù)處理

      另外由于需要從google以及github下載一些可執(zhí)行文件,由于防火墻原因無法直接在服務(wù)器上下載,我們可以預(yù)先將這些執(zhí)行文件下載好,然后上傳到指定的服務(wù)器路徑中

      可執(zhí)行文件-可以在roles/download/defaults/main.yml文件中查找到,下載路徑如下:

      kubeadm_download_url:?"? hyperkube_download_url:?"? cni_download_url:?"

      接下來修改文件權(quán)限,并上傳到每臺(tái)服務(wù)器的/tmp/releases目錄下

      chmod?755?cni-plugins-amd64-v0.6.0.tgz?hyperkube?kubeadm scp?cni-plugins-amd64-v0.6.0.tgz?hyperkube?kubeadm?root@node1:/tmp/releases

      3.3 組件列表

      k8s所需要的組件

      可選插件列表

      3.4 DNS方案

      k8s的服務(wù)發(fā)現(xiàn)依賴于DNS,涉及到兩種類型的網(wǎng)絡(luò):主機(jī)網(wǎng)絡(luò)和容器網(wǎng)絡(luò),所以Kubespray提供了兩種配置來進(jìn)行管理

      1) dns_mode

      dns_mode 主要用于集群內(nèi)的域名解析,有如下幾種類型,我們的技術(shù)選型是coredns,注意:選擇某種dns_mode,可能需要下載安裝多個(gè)容器鏡像,其鏡像版本也可能不同

      2) resolvconf_mode

      resolvconf_mode主要用來解決當(dāng)容器部署為host網(wǎng)絡(luò)模式的時(shí)候,如何使用k8s的dns,這里我們使用的是docker_dns

      resolvconf_mode:?docker_dns

      3.5 網(wǎng)絡(luò)插件選擇

      1) kube-proxy

      【Kubernetes系列】第4篇 Kubernetes集群安裝部署

      kube-proxy可以選擇ipvs或者iptables,在這里我們選擇的是ipvs模式,關(guān)于這兩者的區(qū)別可以參考 華為云在 K8S 大規(guī)模場(chǎng)景下的 Service 性能優(yōu)化實(shí)踐(zhuanlan.zhihu.com/p/37230013)

      2) 網(wǎng)絡(luò)插件列表

      網(wǎng)絡(luò)插件列表如下,我們的技術(shù)選型是calico,注意:選擇某種網(wǎng)絡(luò)插件,可能需要一個(gè)或多個(gè)容器鏡像,其鏡像版本也可能不同

      3.6 高可用方案

      step4: 按照如下步驟進(jìn)行安裝部署

      #?Install?dependencies?from?``requirements.txt`` sudo?pip?install?-r?requirements.txt #?Copy?`inventory/sample`?as?`inventory/mycluster` cp?-rfp?inventory/sample?inventory/mycluster #?Update?Ansible?inventory?file?with?inventory?builder declare?-a?IPS=(10.10.1.3?10.10.1.4?10.10.1.5) CONFIG_FILE=inventory/mycluster/hosts.ini?python3?contrib/inventory_builder/inventory.py?${IPS[@]} #?Review?and?change?parameters?under?`inventory/mycluster/group_vars` cat?inventory/mycluster/group_vars/all/all.yml cat?inventory/mycluster/group_vars/k8s-cluster/k8s-cluster.yml #?Deploy?Kubespray?with?Ansible?Playbook?-?run?the?playbook?as?root #?The?option?`-b`?is?required,?as?for?example?writing?SSL?keys?in?/etc/, #?installing?packages?and?interacting?with?various?systemd?daemons. #?Without?-b?the?playbook?will?fail?to?run! ansible-playbook?-i?inventory/mycluster/hosts.ini?--become?--become-user=root?cluster.yml

      部署完成,可以登錄到k8s-master所在的主機(jī),執(zhí)行如下命令,可以看到各個(gè)組件正常

      kubectl?cluster-info kubectl?get?node kubectl?get?pods?--all-namespaces

      參考文檔:

      github.com/kubernetes-…

      xdatk.github.io/2018/04/16/…

      jicki.me/kubernetes/…

      容器 運(yùn)維 云計(jì)算 DevOps Kubernetes

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:一名全棧工程師的必備工具箱
      下一篇:Huawei_LiteOS——STM32F1移植(野火開發(fā)板)
      相關(guān)文章
      久久亚洲精品成人av无码网站| 久久亚洲高清观看| 亚洲美女一区二区三区| 亚洲精品无码Av人在线观看国产| 亚洲人成网站观看在线播放| 国产亚洲蜜芽精品久久| 国产成人+综合亚洲+天堂| 久久久久亚洲精品无码网址色欲| 亚洲精华国产精华精华液好用| 亚洲精品无码少妇30P| 亚洲另类自拍丝袜第五页| 亚洲熟妇无码一区二区三区| 亚洲色精品三区二区一区| 亚洲日韩国产一区二区三区在线| 亚洲综合一区国产精品| 亚洲欧美日韩中文字幕一区二区三区| 亚洲色大成网站www永久男同| 亚洲欧美日韩综合久久久| 亚洲精品9999久久久久无码| 校园亚洲春色另类小说合集| 国产综合成人亚洲区| 亚洲成A人片77777国产| 亚洲午夜国产片在线观看| 国产啪亚洲国产精品无码| 国产亚洲精品成人AA片新蒲金| 亚洲伊人久久大香线蕉综合图片| 国产亚洲一区二区手机在线观看| 亚洲精品国产品国语在线| 婷婷亚洲久悠悠色悠在线播放 | 亚洲国产一区二区a毛片| 亚洲五月激情综合图片区| 亚洲第一页中文字幕| 亚洲欧洲日韩国产一区二区三区| 国产午夜亚洲精品| 亚洲av成人片在线观看| 亚洲av日韩av欧v在线天堂| 国产亚洲人成网站在线观看| 亚洲A∨无码一区二区三区| 91亚洲视频在线观看| 亚洲男人的天堂网站| 亚洲国产午夜中文字幕精品黄网站|