国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Kubernetes集群部署與實踐

這篇具有很好參考價值的文章主要介紹了Kubernetes集群部署與實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本博客鏈接:https://security.blog.csdn.net/article/details/128840528

一、提要

部署Kubernetes集群至少需要3臺服務器,其中至少要有1個服務器做master節(jié)點,至少要有1個服務器做node節(jié)點,且節(jié)點名稱是唯一的。

當集群中只有一個master節(jié)點時,如果其出現了故障,會導致Kubernetes的控制平面完全失效。如要保證Kubernetes集群的高可靠性,可以設置多個master,當其中部分master出現故障時,其他master還可以管理整個集群。

因此,我們這里使用三臺服務器部署,可以有2種部署方案,2個master+1個node,或者1個master+2個node,這里我們使用后一種方式。

三臺服務器:

master,192.168.153.145
node1,192.168.153.146
node2,192.168.153.147

二、部署

修改主機名

# master機器執(zhí)行命令
hostnamectl set-hostname master

# node1機器執(zhí)行命令
hostnamectl set-hostname node1

# node2機器執(zhí)行命令
hostnamectl set-hostname node2

關閉防火墻:

# 3臺機器都執(zhí)行
systemctl stop firewalld
systemctl disable firewalld

關閉selinux:

# 3臺機器都執(zhí)行
sed -i 's/enforcing/disabled/' /etc/selinux/config

關閉swap分區(qū):

# 3臺機器都執(zhí)行
vim /etc/fstab
注釋掉該行:/dev/mapper/centos-swap

編輯/etc/hosts文件,新增以下內容:

# 3臺機器都執(zhí)行
192.168.153.145 master master
192.168.153.146 node1 node1
192.168.153.147 node2 node2

創(chuàng)建并編輯/etc/sysctl.d/k8s.conf,新增以下內容:

# 主要是為了將橋接的IPv4流量傳遞到iptables
# 只在master機器上執(zhí)行
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

執(zhí)行命令:

# 只在master機器上執(zhí)行
sysctl --system

配置時間同步:

# 3臺機器都執(zhí)行
yum -y install chrony

編輯/etc/chrony.conf文件,新增以下內容:

# 3臺機器都執(zhí)行
pool time1.aliyun.com iburst

執(zhí)行命令:

# 3臺機器都執(zhí)行
systemctl enable --now chronyd

免密認證:

# 只在master機器上執(zhí)行
ssh-keygen -t rsa
ssh-copy-id master
ssh-copy-id node1
ssh-copy-id node2

重啟機器:

# 3臺機器都執(zhí)行
reboot

安裝docker:

# 3臺機器都執(zhí)行
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 -y install docker-ce
systemctl start docker
systemctl enable docker
docker -v

創(chuàng)建并編輯/etc/yum.repos.d/kubernetes.repo,新增以下內容:

# 主要是為了添加Kubernetes的源
# 3臺機器都執(zhí)行
[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

安裝kubeadm、kubelet、kubectl:
注:1.24以上版本已經放棄docker,如果安裝,k8s在初始化時會報錯

# 3臺機器都執(zhí)行
yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6
systemctl enable kubelet

執(zhí)行命令:

# 只在master機器上執(zhí)行
docker pull coredns/coredns:1.8.5
docker tag coredns/coredns:1.8.5 registry.aliyuncs.com/google_containers/coredns:v1.8.5

創(chuàng)建并編輯/etc/docker/daemon.json,新增以下內容:

# 3臺機器都執(zhí)行
{
    "exec-opts": ["native.cgroupdriver=systemd"]
}

執(zhí)行命令:

# 3臺機器都執(zhí)行
systemctl daemon-reload
systemctl restart docker
systemctl restart kubelet

部署Kubernetes master節(jié)點:

# 只在master機器上執(zhí)行
kubeadm init  \
--apiserver-advertise-address=192.168.153.145 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.6 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

-----------------------單行用于復制------------------------------
kubeadm init --apiserver-advertise-address=192.168.153.145 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.6 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

如有問題通過百度解決,漫長等待后,記錄下以下值:

kubeadm join 192.168.153.145:6443 --token zqlnxn.b8110o37bp5kwinl \
        --discovery-token-ca-cert-hash sha256:69cf2bd1bf87495d1e2e5dc11b3736151feaf00e38a59ea66b276007a163a0aa

如下圖所示:

Kubernetes集群部署與實踐

執(zhí)行命令:

# 只在master機器上執(zhí)行
echo 'export KUBECONFIG=/etc/kubernetes/admin.conf' > /etc/profile.d/k8s.sh
source /etc/profile.d/k8s.sh

安裝Pod網絡插件:

# 只在master機器上執(zhí)行
# 網上找到kube-flannel.yml下載下來之后手動安裝
kubectl apply -f /root/kube-flannel.yml

生成worker節(jié)點用來加入集群的校驗token:

# 只在master機器上執(zhí)行
kubeadm token create --print-join-command
kubeadm join 192.168.153.145:6443 --token zqlnxn.b8110o37bp5kwinl --discovery-token-ca-cert-hash sha256:69cf2bd1bf87495d1e2e5dc11b3736151feaf00e38a59ea66b276007a163a0aa 

加入Kubernetes的Node節(jié)點:

# 在兩個node機器上執(zhí)行
echo "1" > /proc/sys/net/bridge/bridge-nf-call-iptables
kubeadm join 192.168.153.145:6443 --token zqlnxn.b8110o37bp5kwinl --discovery-token-ca-cert-hash sha256:69cf2bd1bf87495d1e2e5dc11b3736151feaf00e38a59ea66b276007a163a0aa 

master綁定:

# 在兩個node機器上執(zhí)行
echo "export KUBECONFIG=/etc/kubernetes/kubelet.conf" >> /etc/profile
source /etc/profile

查看節(jié)點狀態(tài)(三臺機器均可查看),如下圖所示:

Kubernetes集群部署與實踐

至此,如果解決完所有報錯,則部署結束。

三、測試Kubernetes集群

執(zhí)行命令:

# 只在master機器上執(zhí)行
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc

如圖所示:

Kubernetes集群部署與實踐

瀏覽器訪問:

Kubernetes集群部署與實踐

四、Kubernetes實踐

以下只在master機器上執(zhí)行

4.1、Deployment資源部署

集群上運行Nginx鏡像:

kubectl run nginx --image=nginx

查看部署的Nginx應用:

kubectl get deployments.apps nginx

查看Nginx部署的詳細信息及過程:

kubectl describe deploy nginx

查看Nginx的ReplicaSet資源:

# DESIRED-副本數期望值,CURRENT-當前副本數,READY-就緒狀態(tài)的副本數,AGE-已啟動時間
kubectl get rs

查看Nginx的Pod資源:

kubectl get pod -o wide
4.2、Deployment日志查看

查看Nginx的應用日志:

kubectl logs nginx-85b98978db-kxvn6

Kubernetes集群部署與實踐

4.3、Deployment資源執(zhí)行

通過kubectl進入Nginx應用對應的容器:

kubectl exec -it nginx-85b98978db-kxvn6 bash

查看Service和Pod的映射關系:

kubectl get endpoints
4.4、Deployment資源擴展

擴展Nginx應用的副本數為3(原來是1):

kubectl scale deployment nginx --replicas=3

擴展后查看Nginx應用的Deployment、ReplicaSet、Pod、Endpoints資源:

kubectl get deployment.apps nginx
kubectl get rs
kubectl get pod
kubectl get ep

Kubernetes集群部署與實踐

4.5、資源刪除

刪除對應的Deployment資源(通過kubectl run啟動的):

kubectl rollout undo deploy nginx

檢驗刪除結果:

kubectl get pod

刪除對應的Service資源(通過kubectl apply啟動的):

kubectl delete -f /tmp/nginx.svc.yml
4.6、故障排查

查看Nginx的應用日志:

kubectl logs nginx-85b98978db-kxvn6

輸出資源的詳細信息:文章來源地址http://www.zghlxwxcb.cn/news/detail-401333.html

kubectl describe pod nginx-85b98978db-kxvn6

到了這里,關于Kubernetes集群部署與實踐的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Kubernetes部署Nacos集群

    Kubernetes部署Nacos集群

    master: 11.0.1.3 node: 11.0.1.4,11.0.1.5(nfs) nfs: 11.0.1.5 安裝nfs-utils和rpcbind nfs客戶端和服務端都安裝nfs-utils包 創(chuàng)建共享目錄 編輯/etc/exports文件添加如下內容 啟動服務 啟動順序一定是rpcbind-nfs,否則有可能出現錯誤 先從github上拉取nacos的代碼: 內容結構如下: 因為StorageClass可以實現自

    2024年02月03日
    瀏覽(19)
  • Kubernetes 部署 StarRocks 集群

    Kubernetes 部署 StarRocks 集群

    StarRocks簡介 官方鏈接?? https://docs.starrocks.io/zh-cn/latest/introduction/what_is_starrocks 系統架構圖 來源于官網:https://docs.starrocks.io/zh-cn/latest/introduction/Architecture 安裝部署StarRocks 手動部署 官方鏈接?? https://docs.starrocks.io/zh-cn/latest/quick_start/Deploy 通過 Docker部署 官網鏈接?? https://doc

    2023年04月11日
    瀏覽(49)
  • 【云原生|Kubernetes】02-Kubeadm安裝部署Kubernetes集群

    【云原生|Kubernetes】02-Kubeadm安裝部署Kubernetes集群

    前面簡單介紹了Kubernetes的相關架構及其組件,這一章節(jié)我們將介紹如何快速搭建Kubernetes的集群,這里我們將使用官方支持的用于部署 Kubernetes 的工具— kubeadm。 主機名 ip地址 節(jié)點類型 系統版本 master.example.com 192.168.194.128 master,etcd centos7.x node1.example.com 192.168.194.130 node1 cent

    2024年02月03日
    瀏覽(23)
  • 一文秒懂!騰訊云ES HTTPS 集群訪問通信最佳實踐

    一文秒懂!騰訊云ES HTTPS 集群訪問通信最佳實踐

    作者: 吳容,騰訊云Elasticsearch高級開發(fā)工程師 Elasticsearch提供了多種數據訪問安全的方式,如用戶名密碼校驗、api_key等。但是依然無法保障數據傳輸過程中的安全性問題。而HTTPS協議,則是一種以安全為目的的HTTP通道,在HTTP的基礎上通過傳輸加密和身份認證等機制來保障數

    2024年02月08日
    瀏覽(19)
  • Kubeadm - K8S1.20 - 高可用集群部署(博客)

    1.系統設置 注意事項: master節(jié)點cpu核心數要求大于2 ●最新的版本不一定好,但相對于舊版本,核心功能穩(wěn)定,但新增功能、接口相對不穩(wěn) ●學會一個版本的 高可用部署,其他版本操作都差不多 ●宿主機盡量升級到CentOS 7.9 ●內核kernel升級到 4.19+ 這種穩(wěn)定的內核 ●部署k8

    2024年02月05日
    瀏覽(23)
  • 【云原生】Kubeadmin部署Kubernetes集群

    【云原生】Kubeadmin部署Kubernetes集群

    目錄 ?編輯 一、環(huán)境準備 1.2調整內核參數 二、所有節(jié)點部署docker 三、所有節(jié)點安裝kubeadm,kubelet和kubectl 3.1定義kubernetes源 3.2開機自啟kubelet 四、部署K8S集群 4.1查看初始化需要的鏡像 4.2在 master 節(jié)點上傳 v1.20.11.zip 壓縮包至 /opt 目錄 4.3復制鏡像和腳本到 node 節(jié)點,并在 nod

    2024年02月09日
    瀏覽(25)
  • 【kubernetes】Etcd集群部署與驗證

    【kubernetes】Etcd集群部署與驗證

    前言 :二進制部署kubernetes集群在企業(yè)應用中扮演著非常重要的角色。無論是集群升級,還是證書設置有效期都非常方便,也是從事云原生相關工作從入門到精通不得不邁過的坎。通過本系列文章,你將從虛擬機準備開始,到使用二進制方式從零到一搭建起安全穩(wěn)定的高可用

    2024年02月10日
    瀏覽(17)
  • kubernetes 1.27.3 集群部署方案

    kubernetes 1.27.3 集群部署方案

    1.1.1?主機硬件配置說明 cpu 內存 硬盤 角色 主機名 系統版本 8C ?8G ?1024GB master master01 centos 7.9 ?8C ?16G ?1024GB ?worker(node) ?worker01 centos 7.9 ?8C ?16G ?1024GB ?worker(node) ?worker02 centos 7.9 1.1.2?主機配置 1.1.2.1 主機名配置 由于本次使用3臺主機完成kubernetes集群部署,其中1臺為master節(jié)

    2024年02月15日
    瀏覽(19)
  • 使用 Sealos 一鍵部署 Kubernetes 集群

    Sealos 是一款以 Kubernetes 為內核的 云操作系統發(fā)行版 ,使用戶能夠 像使用個人電腦一樣 簡單地使用云。 與此同時,Sealos 還提供一套強大的工具,可以便利地管理整個 Kubernetes 集群的生命周期。 Sealos 不僅可以一鍵安裝一個單節(jié)點的 Kubernetes 開發(fā)環(huán)境,還能構建數千節(jié)點的生

    2024年02月03日
    瀏覽(17)
  • kubesphere多集群管理,實現kubernetes多集群同時應用部署

    kubesphere多集群管理,實現kubernetes多集群同時應用部署

    測試kubesphere多集群管理功能,至少需要兩套kubesphere集群環(huán)境。 1、準備環(huán)境 執(zhí)行以下命令,集群的節(jié)點都需要執(zhí)行。 2、下載kubesphere安裝工具KubeKey 這里我先下載好安裝工具,在部署操作系統上進行解壓,解壓出來就具有了 kk 命令。如果沒有執(zhí)行權限,執(zhí)行如下命令。 3、準

    2024年02月06日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包