k8s安裝及部署步驟

2021-10-07 07:31:21 字數 3056 閱讀 3803

國內安裝k8s的四種途徑:

1. 使用kubeadmin通過離線映象安裝

2. 使用阿里公有雲平台k8s,鈔能力

3. 通過yum官方倉庫安裝,上古版本

4. 二進位製包的形式進行安裝,kubeasz (github)

安裝步驟:

一、 環境配置:

1. 設定主機名與時區

timedatectl set-timezone asia/shanghai #都要執行

hostnamectl set-hostname master #132執行

hostnamectl set-hostname node1 #133執行

hostnamectl set-hostname node2 #137執行

2. 新增hosts網路主機配置,三颱虛擬機器都要設定,方便尋找主機

vim /etc/hosts

192.168.26.70 master

192.168.26.73 node1

192.168.26.77 node2

3. 關閉防火牆,三颱虛擬機器都要設定,這一步操作是為了防止在學習階段由於防火牆造成的各種網路問題,生產環境跳過這一步,

sed -i 's/selinux=enforcing/selinux=disabled/g' /etc/selinux/config

setenforce 0

systemctl disable firewalld

systemctl stop firewall

二、 安裝kubeadmin

1. 將映象包上傳至伺服器每個節點

mkdir /usr/local/k8s-install

cd /usr/local/k8s-install

xftp上傳安裝檔案

2. 按每個centos上安裝docker(安裝包模式安裝docker,可以換為其他方式安裝docker)

tar -zxvf docker-ce-18.09.tar.gz

cd docker

yum localinstall -y *.rpm

systemctl start docker

systemctl enable docker

3. 確保從cgroups均在同乙個從groupfs

#cgroups是control groups的簡稱,它為linux核心提供了一種任務聚集和劃分的機制,通過一組引數集合將一些任務組織成乙個或多個子系統。

#cgroups是實現iaas虛擬化(kvm、lxc等),paas容器沙箱(docker等)的資源管理控制部分的底層基礎。

#子系統是根據cgroup對任務的劃分功能將任務按照一種指定的屬性劃分成的乙個組,主要用來實現資源的控制。

#在cgroup中,劃分成的任務組以層次結構的形式組織,多個子系統形成乙個資料結構中類似多根樹的結構。cgroup包含了多個孤立的子系統,每乙個子系統代表單一的資源

docker info | grep cgroup

如果不是groupfs,執行下列語句

cat << eof > /etc/docker/daemon.json

eof

systemctl daemon-reload && systemctl restart docker

4. 安裝kubeadm

# kubeadm是集群部署工具

cd /usr/local/k8s-install/kubernetes-1.14

tar -zxvf kube114-rpm.tar.gz

cd kube114-rpm

yum localinstall -y *.rpm

6. 配置網橋

cat net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

eofsysctl --system8000/tcp

targetport: 8080/tcp

endpoints: 10.244.1.8:8080,10.244.2.7:8080 #底層兩個docker的資訊

session affinity: none

events:

此時在k8s集群內可以通過ip+port的方式訪問集群內的應用,比如上面顯示的資訊,我們便可以通過10.101.53.16:8000訪問tomcat-service服務,tomcat-service便會通過負載均衡演算法將請求打到10.244.1.8:8080,10.244.2.7:8080上面。但由於這個ip不是真實的外網ip,僅僅是k8s集群內維護的ip,在k8s集群外側是無法通過這個ip訪問的集群的。

如何將k8s集群內的ip,埠對映到物理機的ip,埠上呢?—rineted

d. rinetd是linux作業系統中為重定向傳輸控制協議工具

可將源ip埠資料**至目標ip埠

在kubernetes中用於將service服務對外暴露

e. rinetd安裝步驟

ii. tar -zxvf rinetd.tar.gz 解壓檔案

iii. cd rinetd/

iv. sed -i 『s/65536/65535/g』 rinetd.c 修改rinetd原始檔,修改允許對映的埠範圍

v. yum install -y gcc 安裝c語言編譯器

vi. make&make install

vii. vi /etc/rinetd.conf 建立rinetd的配置檔案

0.0.0.0 8000 10.101.53.16 8000 #0.0.0.0 指定任何機器都可以通過8000埠訪問到10.101.53.16(k8s中tomcat-service的ip)的8000埠

viii. rinetd -c /etc/rinetd.conf 載入配置檔案,使配置生效

f. 此時便可以通過宿主機的ip+8000埠訪問到tomcat-service的服務了

7. 到此,便完成了通過k8s部署應用的全部過程

k8s安裝步驟

第一天 說明 1 如果不是root,則通過su root進行切換。root預設密碼修改方式 sudo passwd root,本次設定為111111 2 hostname主機名不能有大寫。如果需要修改,參考 sudo hostnamectl set hostname master 3 可能的依賴包 ...

k8s集群部署 docker部署k8s安裝篇

1 安裝docker 緊接著配置乙個穩定 stable 的倉庫 倉庫配置會儲存到 etc yum.repos.d docker ce.repo檔案中 yum config manager add repo 更新yum安裝的相關docke軟體包 安裝docker ce yum update y yum...

k8s安裝部署Istio

istio簡介 istio 的安裝檔案中包括如下幾個子 chart。ingress ingressgateway egressgateway sidecarinjectorwebhook galley mixer pilot security citadel grafana prometheus s...