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

k8s集群環(huán)境搭建以及插件安裝

這篇具有很好參考價值的文章主要介紹了k8s集群環(huán)境搭建以及插件安裝。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前置條件

終端工具MobaXterm很好用。
1、虛擬機三臺(ip按自己的網(wǎng)絡環(huán)境相應配置)(master/node)

節(jié)點 ip
k8s-master 192.168.200.150
k8s-node1 192.168.200.151
k8s-node2 192.168.200.152

2、關閉防火墻(master/node)

systemctl stop firewalld 
systemctl disable firewalld

查看防火墻狀態(tài):systemctl status firewalld
3、關閉selinux(master/node)

setenforce 0  # 臨時關閉
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  # 永久關閉 

4、關閉swap(master/node)

swapoff -a    # 臨時關閉;關閉swap主要是為了性能考慮
free             # 可以通過這個命令查看swap是否關閉了
sed -ri 's/.*swap.*/#&/' /etc/fstab  # 永久關閉

5、添加主機名與IP對應的關系(master/node)
$ vim /etc/hosts
#添加如下內容:
192.168.200.150 k8s-master
192.168.200.151 k8s-node1
192.168.200.152 k8s-node2
#保存退出
6、修改主機名(master/node)
#k8s-master
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname k8s-master ##臨時生效
[root@localhost ~] hostnamectl set-hostname k8s-master ##重啟后永久生效
#k8s-node1
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname k8s-node1 ##臨時生效
[root@localhost ~] hostnamectl set-hostname k8s-node1 ##重啟后永久生效
7、橋接設置(master/node)

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

以上幾步最好照著都執(zhí)行一下,以免后面報一大堆錯

安裝docker(master/node)

注意docker與k8s 的版本對照關系。本次按照的k8s版本為1.18.0,對應的docker版本為docker-ce-19.03.9-3.el7
如果已經(jīng)安裝了dokcer就不需要重復安裝了
1.安裝wget
$ yum -y install wget
2.添加docker yum源
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
3.安裝docker
$ yum -y install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7
4.設置開機啟動
$ systemctl enable docker
5.啟動docker
$ systemctl start docker

6.編輯docker配置文件

mkdir /etc/docker/ 
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://gqs7xcfd.mirror.aliyuncs.com","https://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF

7.重啟docker
$ systemctl restart docker

安裝kubernetes

1.為kubernetes添加阿里云YUM軟件源(master/node)

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[k8s]
name=k8s
enabled=1
gpgcheck=0 
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
EOF

2.安裝kubeadm,kubelet和kubectl(master/node)
版本可以選擇自己要安裝的版本號,我安裝的是1.18.0
$ yum install -y kubelet-1.18.0 kubectl-1.18.0 kubeadm-1.18.0
3.設置開機自啟動

$ systemctl enable kubelet

master節(jié)點初始化

部署Kubernetes (master) ,node節(jié)點不需要執(zhí)行kubeadm init

kubeadm init \
  --apiserver-advertise-address=192.168.200.150 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=10.1.0.0/16 \
  --pod-network-cidr=10.244.0.0/16

因為初始化的時候會做一下檢查,如果出現(xiàn)一下錯誤。

[preflight] Running pre-flight checks error execution phase preflight:
[preflight] Some fatal errors occurred:
[ERROR Swap]: running with swap on is not supported. Please disable swap [preflight] If you know what you are doing, you can make
a check non-fatal with --ignore-preflight-errors=... To see the
stack trace of this error execute with --v=5 or higher

重啟一下就好了,剛才修改的swap沒有生效。
初始化完成可以看到下面的畫面,如果有錯誤的話需要排查一下。

配置kubectl

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

查看節(jié)點
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master NotReady master 6m42s v1.18.0

在兩臺Node節(jié)點上執(zhí)行join命令

在兩臺node節(jié)點上分別執(zhí)行join命令

kubeadm join 192.168.200.150:6443 --token 6mjjzr.imfudxt8568utrvv \
    --discovery-token-ca-cert-hash sha256:c89fd5ec80eac07429aeb450d475eec53d7d88e51c489c817fd5b7d8f3ebe3ce

查看節(jié)點
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master NotReady master 9m54s v1.18.0
k8s-node1 NotReady 42s v1.18.0
k8s-node2 NotReady 46s v1.18.0

安裝插件

1.安裝 flannel
從官網(wǎng)下載yaml文件

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

然后執(zhí)行yaml文件

kubectl apply -f kube-flannel.yml
查看所有pod
kubectl  get pods -A
查看命名空間pod
kubectl -n <namespace> get pods -o wide

2.部署busybox來測試集群各網(wǎng)絡情況
vi busybox.yaml

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
spec:
  replicas: 2
  selector:
    matchLabels:
      name: busybox
  template:
    metadata:
      labels:
        name: busybox
    spec:
      containers:
      - name: busybox
        image: busybox  
        imagePullPolicy: IfNotPresent
        args:
        - /bin/sh
        - -c
        - sleep 1; touch /tmp/healthy; sleep 30000
        readinessProbe:   
          exec:
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 1

kubectl apply -f busybox.yaml
查看所有pod

[root@k8s-master ~]# kubectl  get pods -A -o wide
NAMESPACE      NAME                                 READY   STATUS    RESTARTS   AGE     IP                NODE         NOMINATED NODE   READINESS GATES
default        busybox-7c84546778-69hq7             1/1     Running   0          90s     10.244.2.2        k8s-node1    <none>           <none>
default        busybox-7c84546778-plzwg             1/1     Running   0          90s     10.244.1.2        k8s-node2    <none>           <none>

進入pod,查看pod 和各node是否互通

kubectl exec -it busybox-7c84546778-69hq7 -- /bin/sh
/ # ping -c 10.244.1.2
ping: invalid number '10.244.1.2'
/ # ping -c -2 10.244.1.2
ping: invalid number '-2'
/ # ping -c 2 10.244.1.2
PING 10.244.1.2 (10.244.1.2): 56 data bytes
64 bytes from 10.244.1.2: seq=0 ttl=62 time=0.504 ms
64 bytes from 10.244.1.2: seq=1 ttl=62 time=1.611 ms

--- 10.244.1.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.504/1.057/1.611 ms
/ # ping -c 2 192.168.200.151
PING 192.168.200.151 (192.168.200.151): 56 data bytes
64 bytes from 192.168.200.151: seq=0 ttl=64 time=0.070 ms
64 bytes from 192.168.200.151: seq=1 ttl=64 time=0.074 ms

--- 192.168.200.151 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.070/0.072/0.074 ms
/ # ping -c 2 192.168.200.152
PING 192.168.200.152 (192.168.200.152): 56 data bytes
64 bytes from 192.168.200.152: seq=0 ttl=63 time=0.273 ms
64 bytes from 192.168.200.152: seq=1 ttl=63 time=0.203 ms

--- 192.168.200.152 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.203/0.238/0.273 ms

部署dashboard

下載dashboard

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml

#修改dashboard配置,特別要注意空格,要按照前面的對齊!
#vim recommended.yaml

#增加nodeport配置
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort #增加此行
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30000 #增加此行
  selector:
    k8s-app: kubernetes-dashboard


kubectl apply -f recommended.yaml

[root@k8s-master ~]# kubectl get pod -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-6b4884c9d5-vmfzc   1/1     Running   0          2m9s
kubernetes-dashboard-7f99b75bf4-2d7sg        1/1     Running   0          2m9s

訪問地址:https://192.168.200.150:30000/#/login
k8s集群環(huán)境搭建以及插件安裝,kubernetes,容器,云原生

創(chuàng)建用戶
如上圖,跳轉到了登錄頁面,那我們就先創(chuàng)建個用戶:

1.創(chuàng)建服務賬號
首先創(chuàng)建一個叫admin-user的服務賬號,并放在kube-system名稱空間下:

admin-user.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

執(zhí)行kubectl create命令:

kubectl create -f admin-user.yaml

2.綁定角色
默認情況下,kubeadm創(chuàng)建集群時已經(jīng)創(chuàng)建了admin角色,我們直接綁定即可:

admin-user-role-binding.yaml

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kube-system

執(zhí)行kubectl create命令:

kubectl create -f  admin-user-role-binding.yaml

3.獲取Token
現(xiàn)在我們需要找到新創(chuàng)建的用戶的Token,以便用來登錄dashboard:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

輸出類似:

Name:         admin-user-token-qrj82
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name=admin-user
              kubernetes.io/service-account.uid=6cd60673-4d13-11e8-a548-00155d000529

Type:  kubernetes.io/service-account-token

Data
====
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXFyajgyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI2Y2Q2MDY3My00ZDEzLTExZTgtYTU0OC0wMDE1NWQwMDA1MjkiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06YWRtaW4tdXNlciJ9.C5mjsa2uqJwjscWQ9x4mEsWALUTJu3OSfLYecqpS1niYXxp328mgx0t-QY8A7GQvAr5fWoIhhC_NOHkSkn2ubn0U22VGh2msU6zAbz9sZZ7BMXG4DLMq3AaXTXY8LzS3PQyEOCaLieyEDe-tuTZz4pbqoZQJ6V6zaKJtE9u6-zMBC2_iFujBwhBViaAP9KBbE5WfREEc0SQR9siN8W8gLSc8ZL4snndv527Pe9SxojpDGw6qP_8R-i51bP2nZGlpPadEPXj-lQqz4g5pgGziQqnsInSMpctJmHbfAh7s9lIMoBFW7GVE8AQNSoLHuuevbLArJ7sHriQtDB76_j4fmA
ca.crt:     1025 bytes
namespace:  11 bytes

然后把Token復制到登錄界面的Token輸入框中,登入后顯示如下:
k8s集群環(huán)境搭建以及插件安裝,kubernetes,容器,云原生

部署metrics-server

下載metrics-server(會抽風下載不下來)

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改鏡像地址
將部署文件中鏡像地址修改為國內的地址,大概在部署文件的第140行。 原配置是:

image: k8s.gcr.io/metrics-server/metrics-server:v0.6.2
修改后的配置是:

image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.2

部署metrics server
kubectl create -f components.yaml

查看metric server的運行情況,發(fā)現(xiàn)探針問題:Readiness probe failed: HTTP probe failed with statuscode: 500

[root@centos05 deployment]# kubectl get pods -n kube-system | grep metrics
kube-system metrics-server-7f6b85b597-j2p5h 0/1 Running 0 2m23s
[root@centos05 deployment]# kubectl describe pod metrics-server-7f6b85b597-j2p5h -n kube-system

在大概 139 行的位置追加參數(shù):–kubelet-insecure-tls,修改后內容如下:

spec:
  containers:
  - args:
    - --cert-dir=/tmp
    - --secure-port=4443
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --kubelet-use-node-status-port
    - --metric-resolution=15s
    - --kubelet-insecure-tls

再次部署文件:

kubectl apply -f components.yaml

執(zhí)行kubectl top命令成功:

[root@k8s-master kubernetes]# kubectl top pod
NAME                                CPU(cores)   MEMORY(bytes)
busybox-7c84546778-69hq7            1m           0Mi
busybox-7c84546778-plzwg            1m           0Mi
nginx-deployment                    0m           1Mi
nginx-deployment-788b8d7b98-528cj   0m           1Mi
nginx-deployment-788b8d7b98-8j6q4   0m           1Mi

再進入dashboard發(fā)現(xiàn)有監(jiān)控了,token過期的話再執(zhí)行上面獲取token一次。
k8s集群環(huán)境搭建以及插件安裝,kubernetes,容器,云原生文章來源地址http://www.zghlxwxcb.cn/news/detail-813691.html

完結,后續(xù)繼續(xù)學習k8s吧

到了這里,關于k8s集群環(huán)境搭建以及插件安裝的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關文章

  • K8s(Kubernetes)學習(二):k8s集群搭建

    K8s(Kubernetes)學習(二):k8s集群搭建

    minikube 只是一個 K8S 集群模擬器,只有一個節(jié)點的集群,只為測試用,master 和 worker 都在一起。 裸機安裝 至少需要兩臺機器(主節(jié)點、工作節(jié)點個一臺),需要自己安裝 Kubernetes 組件,配置會稍微麻煩點。 缺點:配置麻煩,缺少生態(tài)支持,例如負載均衡器、云存儲。 直接用

    2024年02月09日
    瀏覽(37)
  • Containerd+Kubernetes搭建k8s集群

    Containerd+Kubernetes搭建k8s集群

    視頻教程地址:https://space.bilibili.com/3461573834180825/channel/seriesdetail?sid=3316691 之前寫了一篇基于docker安裝kubernetes的文章,這篇文檔我們來使用containerd來安裝kubernetes,相較于docker,containerd運行容器的時候效率更高,并且可以兼容docker鏡像?;赿ocker安裝kubernetes的文章地址:ht

    2024年02月07日
    瀏覽(26)
  • Kubernetes(k8s)上搭建nacos集群

    Kubernetes(k8s)上搭建nacos集群

    你需要準備一個Kubernetes集群,如圖我的集群已經(jīng)準備完畢: nacos可以將配置文件存儲到數(shù)據(jù)庫當中,所以我們要先準備一個擁有nacos數(shù)據(jù)表結構的數(shù)據(jù)庫,這樣的數(shù)據(jù)庫鏡像我已經(jīng)準備好了,當然你也可以自己制作這個鏡像: 我之前寫過一篇Kubernetes上安裝數(shù)據(jù)庫的文章:h

    2024年02月03日
    瀏覽(35)
  • kubernetes(K8S)學習(一):K8S集群搭建(1 master 2 worker)

    kubernetes(K8S)學習(一):K8S集群搭建(1 master 2 worker)

    kubernetes官網(wǎng) :https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl GitHub :https://github.com/kubernetes/kubeadm 本文 :使用kubeadm搭建一個3臺機器組成的k8s集群,1臺master節(jié)點,2臺worker節(jié)點。 由于k8s安裝較麻煩,為防止出現(xiàn)其他異常,特此

    2024年04月09日
    瀏覽(22)
  • 二進制搭建 Kubernetes與k8s集群搭建(一)

    二進制搭建 Kubernetes與k8s集群搭建(一)

    目錄 二進制搭建 Kubernetes v1.20 ? ? 操作系統(tǒng)初始化配置 部署 docker引擎 部署 etcd 集群 準備簽發(fā)證書環(huán)境 在 master01 節(jié)點上操作 ? ?? 生成Etcd證書 在 node01 節(jié)點上操作 在 node02 節(jié)點上操作 部署 Master 組件 在 master01 節(jié)點上操作 部署 Worker Node 組件 在所有 node 節(jié)點上操作 在 mas

    2024年02月06日
    瀏覽(25)
  • 【云原生-K8s】kubeadm搭建安裝k8s集群v1.25版本完整教程【docker、網(wǎng)絡插件calico、中間層cri-docker】

    【云原生-K8s】kubeadm搭建安裝k8s集群v1.25版本完整教程【docker、網(wǎng)絡插件calico、中間層cri-docker】

    從 k8s 1.24開始,dockershim已經(jīng)從kubelet中移除,但因為歷史問題docker卻不支持kubernetes主推的CRI(容器運行時接口)標準,所以docker不能再作為k8s的容器運行時了,即從k8s v1.24開始不再使用docker了 但是如果想繼續(xù)使用docker的話,可以在kubelet和docker之間加上一個中間層cri-docker。

    2024年02月03日
    瀏覽(59)
  • Linux搭建 Kubernetes(K8S)集群詳情教程

    當搭建 Kubernetes 集群時,涉及的詳細步驟可能較多,以下是詳細的 Kubernetes 單節(jié)點集群搭建步驟: 步驟 1: 準備工作 確保滿足以下基本要求: 一臺運行 Ubuntu 18.04 或更高版本的機器。 2 GB 或更多內存。 2 個 CPU 核心或更多。 安裝了 Docker。 步驟 2: 安裝 Docker 步驟 3: 安裝 kubea

    2024年01月17日
    瀏覽(63)
  • Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

    Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

    本篇主要針對上篇文章的單 master 節(jié)點的 K8s 集群上搭建多 master 節(jié)點集群 和 LB 負載均衡服務器。 Kubernetes(K8S)集群搭建基礎入門教程 虛擬機 IP 地址: IP 操作系統(tǒng) 主機名稱 192.168.2.121 centos7.9 k8s-master01 192.168.2.124 centos7.9 k8s-master02 192.168.2.125 centos7.9 k8s-node01 192.168.2.126 centos

    2023年04月26日
    瀏覽(34)
  • 使用containerd從0搭建k8s(kubernetes)集群

    準備兩臺服務器節(jié)點,如果需要安裝虛擬機,可以參考《wmware和centos安裝過程》 機器名 IP 角色 CPU 內存 centos01 192.168.109.130 master 4核 2G centos02 192.168.109.131 node 4核 2G 設置主機名,所有節(jié)點都執(zhí)行 關閉防火墻,所有節(jié)點都執(zhí)行 關閉swap內存,所有節(jié)點都執(zhí)行 配置網(wǎng)橋,所有節(jié)點

    2024年02月08日
    瀏覽(42)
  • 【kubernetes】k8s高可用集群搭建(三主三從)

    【kubernetes】k8s高可用集群搭建(三主三從)

    目錄 【kubernetes】k8s高可用集群搭建(三主三從) 一、服務器設置 二、環(huán)境配置 1、關閉防火墻 2、關閉selinux 3、關閉swap 4、修改主機名(根據(jù)主機角色不同,做相應修改) 5、主機名映射 6、將橋接的IPv4流量傳遞到iptables的鏈 7、時間同步 8、master之間進行免密登錄設置 三、

    2024年02月09日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包