kubernetes + istio 是目前最强大,也是最易于使用的服务网格方案。
要使用kubernetes + istio, 首先要搭建 kubernets 集群。搭建kubernetes 集群的
方式有很多,其中使用anisble自动化搭建kubernetes集群算是最具合适的方案了。
服务器列表:
192.168.2.58 k8s-lvs-01 #lvs 主服务器
192.168.2.233 k8s-lvs-02 #lvs 备用服务器
192.168.2.85 k8s-main-01 # k8s master 节点 1
192.168.2.155 k8s-main-02 # k8s master 节点 2
192.168.2.254 k8s-main-03 # k8s master 节点 3
192.168.2.110 k8s-node-01 # k8s worker 节点 1
192.168.2.214 k8s-node-02 # k8s worker 节点 2
192.168.2.36 k8s-node-03 # k8s worker 节点 3
服务器配置要求:
lvs:2核心CPU,4G内存
k8s master & worker:4核心CPU,8G内存
编写 anisble hosts文件
文件名: hosts.ini
mkdir anisble-workspace
cd anisble-workspace
touch hosts.ini
使用自己习惯用的文件编辑器编辑hosts.ini, 并输入以下内容:
[lvs] # 给这组服务器IP用起的名字,可以随意起标签:ssw0rd,anasible,worker,192.168,ansible,master,ssh,pass,k8s From: https://www.cnblogs.com/javennie/p/setup-k8s-cluster-via-anisble.html
# 以下内容格式如下:
# IP ssh端口号 ssh用户名 登录ssh时使用的密码 执行sudo时使用的密码
192.168.2.58 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
192.168.2.233 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
[masters] # 给这组服务器IP用起的名字,可以随意起
192.168.2.85 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
192.168.2.155 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
192.168.2.254 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
[workers]
192.168.2.110 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
192.168.2.214 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
192.168.2.36 ansible_ssh_port=22 ansible_ssh_user=baocang ansible_ssh_pass="P@ssw0rd" ansible_sudo_pass="P@ssw0rd"
[k8s-cluster:children]
masters
workers