1. 程式人生 > 其它 >linux篇-公司網路故障那些事(路由器變交換機)

linux篇-公司網路故障那些事(路由器變交換機)

 

Master本身也要安裝docker的容器,所以既作為master,也作為node

更改主機名

hostnamectl set-hostname server1

hostnamectl set-hostname server2

hostnamectl set-hostname server3

bash

Master安裝服務 etcd api-server controlor-manager scheduler kubelet kube-proxy

  1. 主機名和防火牆配置

三臺相同

[root@server1 ~]# iptables -F

[root@server1 ~]# iptables-save

 #儲存ipstble規則並開機自動載入

[root@server1 ~]# systemctl stop firewalld.service && systemctl disable firewalld.service

server1

[root@server1 ~]# vim /etc/hosts   主機解析

192.168.1.10 server1

192.168.1.20 server2

192.168.1.30 server3

  1. 上傳公鑰

ssh-keygen      #獲取公鑰

ssh-copy-id -i root@server2      #公鑰上傳

ssh-copy-id -i root@server3

-i:指定公鑰檔案把本地的ssh公鑰檔案安裝到遠端主機對應的賬戶下

  1. server1安裝etcd服務

yum -y install etcd

  1. 配置etcd

vim /etc/etcd/etcd.conf

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"   #資料存放在那個目錄

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"   #監聽的一個地址,0.0.0.0表示所有的,本地訪問的話是127.0.0.1

ETCD_NAME="default"   #節點名字,配置叢集的話這裡的名字必須不一樣

TCD_ADVERTISE_CLIENT_URLS="http://192.168.1.10:2379"   #

配置叢集的ip地址,我們沒有配置就本機ip

啟動etcd

systemctl start etcd   #啟動etcd

systemctl enable etcd   #設定開機自啟

netstat -lutup   #檢視埠,起來的話就監聽,

-l:顯示監控中的伺服器的網路

-u:顯示udp傳輸協議的連線情況

-tup:顯示tcp的傳輸協議的連線情況

由於我們設定的,所以監聽的是本機的2380和任務網段的23792379是對外提供服務使用的,往etcd寫資料就使用這個埠,etcd叢集之間相互同步用的2380

  1. 安裝master節點

yum -y install kubernetes-master.x86_64

  1. 從之前我們知道了,master上有4個服務,所以我們需要去配置一下

vim /etc/kubernetes/apiserver

首先配置api-server

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"  #預設是127.0.0.1,我們要想用客戶端訪問就需要0.0.0.0

開啟api-server的埠

KUBE_API_PORT="--port=8080"

配置minions,節點的埠

KUBELET_PORT="--kubelet-port=10250"

連線etce

KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.1.10:2379"

  1. 配置controller-managerscheduler的配置檔案

vim /etc/kubernetes/config

KUBE_MASTER="--master=http://192.168.1.10:8080"   #controller-manager, scheduler, proxy  來找到api-server的地址,api-server在哪臺主機,哪臺就是master

  1. 啟動服務

首先啟動api-server

systemctl start kube-apiserver.service

啟動controller-manager

systemctl start kube-controller-manager.service

啟動scheduler

systemctl start kube-scheduler.service

  1. 設定開機自動載入,防止自動關閉

systemctl enable kube-apiserver.service

systemctl enable kube-scheduler.service

systemctl enable kube-controller-manager.service

  1. 檢視狀態

kubectl get componentstatus

Node節點安裝

  1. 安裝node節點,安裝的時候會預設幫我們安裝上docker,都安裝

 yum -y install kubernetes-node.x86_64

  1. 先在master配置node服務

vim /etc/kubernetes/config    #master之前配置過,所以不需要配置

vim /etc/kubernetes/kubelet    #配置kubelet配置檔案

KUBELET_ADDRESS="--address=192.168.1.10"   #配置kubelet的監聽地址

UBELET_PORT="--port=10250"   #10250

KUBELET_HOSTNAME="--hostname-override=server1"   #當我們有多個節點的時候,每個節點都需要給他新增上一個標籤,這樣master命令的時候就只要一個節點回應,可以用ip地址來區別,也可以用不同主機名來區分

KUBELET_API_SERVER="--api-servers=http://192.168.1.10:8080"   #連線api-server

  1. 啟動kubelet服務,啟動kubelet自動啟動docker

systemctl status docker

systemctl start kubelet.service   #啟動kubelet

systemctl status docker   #發現啟動docker服務

systemctl enable kubelet.service    #設定kubelet開機自啟

systemctl start kube-proxy.service   #啟動proxy服務

systemctl enable kube-proxy.service    #開機自啟

kubectl get nodes   #檢視註冊節點,啟動kubelet的時候,就自動註冊進來了

  1. server2上修改配置檔案

vim /etc/kubernetes/config

KUBE_MASTER="--master=http://192.168.1.10:8080"    #主要是給kube-proxy用的

  1. 繼續修改server2另一個配置檔案

vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=192.168.1.20"   #本機的IP

KUBELET_PORT="--port=10250"   #開啟10250監聽埠

KUBELET_HOSTNAME="--hostname-override=server2"   #修改主機標籤

UBELET_API_SERVER="--api-servers=http://192.168.1.10:8080"   #指定api-server的地址

  1. 開啟服務

systemctl start kubelet.service    #開啟kubelet服務

systemctl enable kubelet.service  #設定開機自啟

systemctl start kube-proxy.service  #開啟kube-proxy服務

systemctl enable kube-proxy.service   #設定開機自啟

  1. master節點檢視

kubectl get nodes   #檢視node節點