国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Kubernetes集群的詳細部署

Honwhy / 2633人閱讀

摘要:部署為生成證書生成證書分發證書下載軟件包復制到節點復制對應腳本到目錄下。

一、集群機器
linux-node1:192.168.56.11     ---master
部署的服務:
etcd
kube-apiserver
kube-controller-manager
kube-scheduler
docker

linux-node2:192.168.56.12      ---node
部署的服務:
etcd
kubelet
kube-proxy
docker

linux-node3:192.168.56.13      ---node
部署的服務:
etcd
kubelet
kube-proxy
docker
二、環境準備
1、設置主機名

hostnamectl set-hostname linux-node1
hostnamectl set-hostname linux-node2
hostnamectl set-hostname linux-node3
----------
2、設置部署節點到其它所有節點的SSH免密碼登(包括本機)

[root@linux-node1 ~]# ssh-keygen -t rsa
[root@linux-node1 ~]# ssh-copy-id linux-node1
[root@linux-node1 ~]# ssh-copy-id linux-node2
[root@linux-node1 ~]# ssh-copy-id linux-node3
----------
3、綁定主機host

cat > /etc/hosts </dev/null 2>&1

#vim  /etc/profile   高亮顯示
export PS1="[e]0;a]
[e[1;32m][e[1;33m]H[e[1;35m]<$(date +"%Y-%m-%d %T")> [e[32m]w[e[0m]
u>$ "

#設置時區
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#SSH登錄慢
sed -i "s/#UseDNS yes/UseDNS no/"  /etc/ssh/sshd_config
sed -i "s/GSSAPIAuthentication yes/GSSAPIAuthentication no/"  /etc/ssh/sshd_config
systemctl restart sshd.service
三、正式安裝 1.安裝Docker(三臺機器都要操作)
第一步:使用國內Docker源

cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第二步:Docker安裝

yum install -y docker-ce

第三步:啟動后臺進程

[root@linux-node2 ~]# systemctl start docker
[root@linux-node2 ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
2.安裝k8s
1.準備部署目錄
   
[root@linux-node1 ~]# mkdir -p /opt/kubernetes/{cfg,bin,ssl,log}

#添加環境變量
[root@linux-node1 ~]# echo "PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile
[root@linux-node1 ~]# source /etc/profile
或者
[root@linux-node1 ~]# vim .bash_profile
PATH=$PATH:$HOME/bin:/opt/kubernetes/bin
[root@linux-node1 ~]# source .bash_profile

2.準備軟件包

#github下載鏈接

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#server-binaries

wget https://storage.googleapis.com/kubernetes-release/release/v1.10.8/kubernetes-server-linux-amd64.tar.gz

wget https://storage.googleapis.com/kubernetes-release/release/v1.10.8/kubernetes-client-linux-amd64.tar.gz

wget https://storage.googleapis.com/kubernetes-release/release/v1.10.8/kubernetes-node-linux-amd64.tar.gz

wget https://storage.googleapis.com/kubernetes-release/release/v1.10.8/kubernetes.tar.gz

3.解壓軟件包

tar -zxvf kubernetes.tar.gz -C /usr/local/src/
tar -zxvf kubernetes-server-linux-amd64.tar.gz -C /usr/local/src/
tar -zxvf kubernetes-client-linux-amd64.tar.gz -C /usr/local/src/
tar -zxvf kubernetes-node-linux-amd64.tar.gz -C /usr/local/src/
3.手動制作CA證書(只在master上進行即可)
1.安裝 CFSSL

[root@linux-node1 ~]# cd /usr/local/src
[root@linux-node1 src]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
[root@linux-node1 src]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
[root@linux-node1 src]# wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
[root@linux-node1 src]# chmod +x cfssl*
[root@linux-node1 src]# mv cfssl-certinfo_linux-amd64 /opt/kubernetes/bin/cfssl-certinfo
[root@linux-node1 src]# mv cfssljson_linux-amd64  /opt/kubernetes/bin/cfssljson
[root@linux-node1 src]# mv cfssl_linux-amd64  /opt/kubernetes/bin/cfssl

#復制cfssl命令文件到k8s-node1和k8s-node2節點。如果實際中多個節點,就都需要同步復制。

[root@linux-node1 ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.12:/opt/kubernetes/bin
[root@linux-node1 ~]# scp /opt/kubernetes/bin/cfssl* 192.168.56.13:/opt/kubernetes/bin

2.初始化cfssl

[root@linux-node1 src]# mkdir ssl && cd ssl
[root@linux-node1 ssl]# cfssl print-defaults config > config.json   --生成ca-config.json的樣例(可省略)
[root@linux-node1 ssl]# cfssl print-defaults csr > csr.json  --生成ca-csr.json的樣例(可省略)

3.創建用來生成 CA 文件的 JSON 配置文件
[root@linux-node1 ssl]#
cat > ca-config.json < ca-csr.json <
4.手動部署ETCD集群
0.準備etcd軟件包

wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz

[root@linux-node1 src]# tar zxf etcd-v3.2.18-linux-amd64.tar.gz
[root@linux-node1 src]# cd etcd-v3.2.18-linux-amd64
[root@linux-node1 etcd-v3.2.18-linux-amd64]# cp etcd etcdctl /opt/kubernetes/bin/ 
[root@linux-node1 etcd-v3.2.18-linux-amd64]# scp etcd etcdctl 192.168.56.12:/opt/kubernetes/bin/
[root@linux-node1 etcd-v3.2.18-linux-amd64]# scp etcd etcdctl 192.168.56.13:/opt/kubernetes/bin/

1.創建 etcd 證書簽名請求:

[root@linux-node1]# cd /usr/local/src/ssl

cat > etcd-csr.json <
5.Master節點部署

部署Kubernetes API服務部署

0.準備軟件包

[root@linux-node1 ~]# cd /usr/local/src/kubernetes
[root@linux-node1 kubernetes]# cp server/bin/kube-apiserver /opt/kubernetes/bin/
[root@linux-node1 kubernetes]# cp server/bin/kube-controller-manager /opt/kubernetes/bin/
[root@linux-node1 kubernetes]# cp server/bin/kube-scheduler /opt/kubernetes/bin/

1.創建生成CSR的 JSON 配置文件
[root@linux-node1 ~]# cd /usr/local/src/ssl
[root@linux-node1 src]# vim kubernetes-csr.json
cat > kubernetes-csr.json <

部署Controller Manager服務

[root@linux-node1 ~]# vim /usr/lib/systemd/system/kube-controller-manager.service
[Unit]
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/opt/kubernetes/bin/kube-controller-manager 
  --address=127.0.0.1 
  --master=http://127.0.0.1:8080 
  --allocate-node-cidrs=true 
  --service-cluster-ip-range=10.1.0.0/16 
  --cluster-cidr=10.2.0.0/16 
  --cluster-name=kubernetes 
  --cluster-signing-cert-file=/opt/kubernetes/ssl/ca.pem 
  --cluster-signing-key-file=/opt/kubernetes/ssl/ca-key.pem 
  --service-account-private-key-file=/opt/kubernetes/ssl/ca-key.pem 
  --root-ca-file=/opt/kubernetes/ssl/ca.pem 
  --leader-elect=true 
  --v=2 
  --logtostderr=false 
  --log-dir=/opt/kubernetes/log

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

3.啟動Controller Manager

[root@linux-node1 ~]# systemctl daemon-reload
[root@linux-node1 scripts]# systemctl enable kube-controller-manager
[root@linux-node1 scripts]# systemctl start kube-controller-manager

4.查看服務狀態

[root@linux-node1 scripts]# systemctl status kube-controller-manager

部署Kubernetes Scheduler

[root@linux-node1 ~]# vim /usr/lib/systemd/system/kube-scheduler.service
[Unit]
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes

[Service]
ExecStart=/opt/kubernetes/bin/kube-scheduler 
  --address=127.0.0.1 
  --master=http://127.0.0.1:8080 
  --leader-elect=true 
  --v=2 
  --logtostderr=false 
  --log-dir=/opt/kubernetes/log

Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

2.部署服務

[root@linux-node1 ~]# systemctl daemon-reload
[root@linux-node1 scripts]# systemctl enable kube-scheduler
[root@linux-node1 scripts]# systemctl start kube-scheduler
[root@linux-node1 scripts]# systemctl status kube-scheduler

部署kubectl 命令行工具

1.準備二進制命令包

[root@linux-node1 ~]# cd /usr/local/src/kubernetes/client/bin
[root@linux-node1 bin]# cp kubectl /opt/kubernetes/bin/
#需要將kubectl復制到node節點
[root@linux-node1 bin]# scp /opt/kubernetes/bin/kubectl linux-node2:/opt/kubernetes/bin/
[root@linux-node1 bin]# scp /opt/kubernetes/bin/kubectl linux-node3:/opt/kubernetes/bin/

2.創建 admin 證書簽名請求

[root@linux-node1 ~]# cd /usr/local/src/ssl/
[root@linux-node1 ssl]# 
cat > admin-csr.json <
6.Node節點部署

部署kubelet

1.二進制包準備 將軟件包從linux-node1復制到linux-node2中去。

[root@linux-node1 ~]# cd /usr/local/src/kubernetes/server/bin/
[root@linux-node1 bin]# cp kubelet kube-proxy /opt/kubernetes/bin/
[root@linux-node1 bin]# scp kubelet kube-proxy 192.168.56.12:/opt/kubernetes/bin/
[root@linux-node1 bin]# scp kubelet kube-proxy 192.168.56.13:/opt/kubernetes/bin/

2.創建角色綁定

[root@linux-node1 ~]# kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=system:node-bootstrapper --user=kubelet-bootstrap
clusterrolebinding "kubelet-bootstrap" created

3.創建 kubelet bootstrapping kubeconfig 文件 設置集群參數

[root@linux-node1 ~]# kubectl config set-cluster kubernetes 
   --certificate-authority=/opt/kubernetes/ssl/ca.pem 
   --embed-certs=true 
   --server=https://192.168.56.11:6443 
   --kubeconfig=bootstrap.kubeconfig
Cluster "kubernetes" set.

設置客戶端認證參數

[root@linux-node1 ~]# kubectl config set-credentials kubelet-bootstrap 
   --token=ad6d5bb607a186796d8861557df0d17f 
   --kubeconfig=bootstrap.kubeconfig   
User "kubelet-bootstrap" set.

設置上下文參數

[root@linux-node1 ~]# kubectl config set-context default 
   --cluster=kubernetes 
   --user=kubelet-bootstrap 
   --kubeconfig=bootstrap.kubeconfig
Context "default" created.

選擇默認上下文

[root@linux-node1 ~]# kubectl config use-context default --kubeconfig=bootstrap.kubeconfig
Switched to context "default".
[root@linux-node1 kubernetes]# cp bootstrap.kubeconfig /opt/kubernetes/cfg
[root@linux-node1 kubernetes]# scp bootstrap.kubeconfig 192.168.56.12:/opt/kubernetes/cfg
[root@linux-node1 kubernetes]# scp bootstrap.kubeconfig 192.168.56.13:/opt/kubernetes/cfg

在node節點上操作,部署kubelet 1.設置CNI支持

[root@linux-node2 ~]# mkdir -p /etc/cni/net.d
[root@linux-node2 ~]# vim /etc/cni/net.d/10-default.conf
cat > /etc/cni/net.d/10-default.conf <0{print $1}"| xargs kubectl certificate approve
成功后是Approved的狀態
[root@linux-node1 bin]# kubectl get csr
NAME                                                   AGE       REQUESTOR           CONDITION
node-csr-IPMSFbKvwgq2icOeIo2v_WA-qb8QCyA7MT5h4eDmjxg   2m        kubelet-bootstrap   Approved,Issued

執行完畢后,查看節點狀態已經是Ready的狀態了 
[root@linux-node1 ~]# kubectl get node
NAME            STATUS    ROLES     AGE       VERSION
192.168.56.12   Ready         2m        v1.10.8

部署Kubernetes Proxy

1.配置kube-proxy使用LVS

[root@linux-node2 ~]# yum install -y ipvsadm ipset conntrack

2.創建 kube-proxy 證書請求

[root@linux-node1 ~]# cd /usr/local/src/ssl/
[root@linux-node1 ~]# vim kube-proxy-csr.json
cat > kube-proxy-csr.json < RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.1.0.1:443 rr persistent 10800
  -> 192.168.56.11:6443           Masq    1      0          0         

如果你在兩臺實驗機器都安裝了kubelet和proxy服務,使用下面的命令可以檢查狀態:

[root@linux-node1 ssl]#  kubectl get node
NAME            STATUS    ROLES     AGE       VERSION
192.168.56.12   Ready         22m       v1.10.1
192.168.56.13   Ready         3m        v1.10.1

linux-node3節點請自行部署。
7.Flannel部署
1.為Flannel生成證書

[root@linux-node1 ~]# vim flanneld-csr.json
cat > flanneld-csr.json <
8.應用創建
1.創建一個測試用的deployment

[root@linux-node1 ~]# kubectl run net-test --image=alpine --replicas=2 sleep 360000

2.查看獲取IP情況

[root@linux-node1 ~]# kubectl get pod -o wide
NAME                        READY     STATUS    RESTARTS   AGE       IP          NODE
net-test-74f45db489-gmgv8   1/1       Running   0          1m        10.2.83.2   192.168.56.13
net-test-74f45db489-pr5jc   1/1       Running   0          1m        10.2.59.2   192.168.56.12

3.測試聯通性(在對應的node節點去測試)

ping 10.2.83.2

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32726.html

相關文章

  • Kubernetes幾種主流部署方式02-kubeadm部署1.14版本高可用集群

    摘要:所以,選擇把運行直接運行在宿主機中,使用容器部署其他組件。獨立部署方式所需機器資源多按照集群的奇數原則,這種拓撲的集群關控制平面最少就要臺宿主機了。 在上篇文章minikube部署中,有提到Minikube部署Kubernetes的核心就是Kubeadm,這篇文章來詳細說明下Kubeadm原理及部署步驟。寫這篇文章的時候,Kubernetes1.14剛剛發布,所以部署步驟以1.14版為...

    atinosun 評論0 收藏0
  • Kubernetes幾種主流部署方式02-kubeadm部署1.14版本高可用集群

    摘要:所以,選擇把運行直接運行在宿主機中,使用容器部署其他組件。獨立部署方式所需機器資源多按照集群的奇數原則,這種拓撲的集群關控制平面最少就要臺宿主機了。 在上篇文章minikube部署中,有提到Minikube部署Kubernetes的核心就是Kubeadm,這篇文章來詳細說明下Kubeadm原理及部署步驟。寫這篇文章的時候,Kubernetes1.14剛剛發布,所以部署步驟以1.14版為...

    superw 評論0 收藏0
  • Kubernetes幾種主流部署方式01-minikube部署

    摘要:代表的解決方案為。雖然官網列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執行了很多步驟命令執行后輸出如下可以看到,主要做了這些事創建了名為的虛擬機,并在虛擬機中安裝了容器運行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產環境的集群不是一件容易的事。好在隨著社區的快速發展,特別是在它成為事實上的容器編排標準以后,基本所有的主流云平臺都...

    Lionad-Morotar 評論0 收藏0
  • Kubernetes幾種主流部署方式01-minikube部署

    摘要:代表的解決方案為。雖然官網列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執行了很多步驟命令執行后輸出如下可以看到,主要做了這些事創建了名為的虛擬機,并在虛擬機中安裝了容器運行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產環境的集群不是一件容易的事。好在隨著社區的快速發展,特別是在它成為事實上的容器編排標準以后,基本所有的主流云平臺都...

    浠ラ箍 評論0 收藏0
  • Kubernetes集群詳細部署

    摘要:部署為生成證書生成證書分發證書下載軟件包復制到節點復制對應腳本到目錄下。 一、集群機器 linux-node1:192.168.56.11 ---master 部署的服務: etcd kube-apiserver kube-controller-manager kube-scheduler docker linux-node2:192.168.56.12 ---no...

    qujian 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<