國內安裝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 --system
8000/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...