Service Mesh服务网格技术探究---VMWare+k8s集群+Istio系列:基础环境搭建
本着好记性不如烂笔头的原则,记录一下研究微服务技术service mesh道路上遇到的各种坑,期间参考了网上的很多帖子及官网文档,在此一并感谢,如本文对原创人员造成侵权或困惑,请随时联系作者删除,谢谢!
本文主要介绍一下基础环境的搭建,包括VMWare、CentOS的安装及配置。
由于我的笔记本操作系统为windows10,计划安装VMware,然后安装3个虚拟机,搭建一个k8s+Istio集群环境,所以文章会从零开始记录整个安装配置过程、遇到的问题及解决方案。
k8s集群规划如下:
操作系统版本 | IP | 主机名 | CPU/内存 | 角色 |
CentOS-8.4.2015-X86_64-boot | 192.168.186.132 | k8s-master | 4核/4G | Master |
CentOS-8.4.2015-X86_64-boot | 192.168.186.130 | k8s-node1 | 4核/4G | Node |
CentOS-8.4.2015-X86_64-boot | 192.168.186.131 | k8s-node2 | 4核/4G | Node |
软件版本:
名称 | 版本 | 全称 |
VMware | v16.1.2 | VMware-workstation-full-16.1.2-17966106.exe |
CentOS | V8.4 | CentOS-8.4.2015-x86_64-boot.iso |
docker-ce | v20.10.8 | |
k8s | v1.22.2 | |
Istio | v1.11.3 | istio-1.11.3-linux-amd64.tar.gz |
- VMware下载与安装
我下载的是破解版的,下载完成之后进行安装,然后就是输入激活码进行激活。
- CentOS下载与安装
这个可以在官网下载,选择合适的版本进行下载即可。
- 服务器安装与配置
VMware安装、激活及CentOS下载全部完成之后,开始安装服务器。在安装的时候要注意虚拟机的配置,处理器尽量配置4核,内存在4G,如果配置过低,后面kubeadm init的时候会报错。
配置如下:
开始安装系统
设置时区、网络及密码
选择安装类型
点击Begin Installation开始进行安装
安装完成后重启系统
三台服务器的操作系统全部安装完成之后,接下来进行一些准备前的工作。
1:检查IP及主机名,并修改/etc/hosts文件,按照之前的规划在hosts文件中增加如下配置:
192.168.186.132 k8s-master 192.168.186.130 k8s-node1 192.168.186.131 k8s-node2
2:为了防止后面访问github失败,提前配置域名映射,同样是修改/etc/hosts文件,增加如下配置:
140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199.111.153 assets-cdn.github.com 199.232.28.133 raw.githubusercontent.com 199.232.96.133 raw.githubusercontent.com 185.199.108.154 github.githubassets.com 140.82.114.21 central.github.com 185.199.108.133 desktop.githubusercontent.com 185.199.108.153 assets-cdn.github.com 185.199.108.133 camo.githubusercontent.com 185.199.108.133 github.map.fastly.net 199.232.69.194 github.global.ssl.fastly.net 140.82.113.4 gist.github.com 185.199.108.153 github.io 140.82.114.3 github.com 140.82.113.5 api.github.com 185.199.108.133 raw.githubusercontent.com 185.199.108.133 user-images.githubusercontent.com 185.199.108.133 favicons.githubusercontent.com 185.199.108.133 avatars5.githubusercontent.com 185.199.108.133 avatars4.githubusercontent.com 185.199.108.133 avatars3.githubusercontent.com 185.199.108.133 avatars2.githubusercontent.com 185.199.108.133 avatars1.githubusercontent.com 185.199.108.133 avatars0.githubusercontent.com 185.199.108.133 avatars.githubusercontent.com 140.82.113.10 codeload.github.com 52.216.226.40 github-cloud.s3.amazonaws.com 52.216.162.99 github-com.s3.amazonaws.com 52.216.142.196 github-production-release-asset-2e65be.s3.amazonaws.com 52.217.97.236 github-production-user-asset-6210df.s3.amazonaws.com 52.217.194.41 github-production-repository-file-5c1aeb.s3.amazonaws.com 185.199.108.153 githubstatus.com 64.71.168.201 github.community 185.199.108.133 media.githubusercontent.com
3:修改完hosts之后测试服务器之间的网络是否互通
[root@k8s-master ~]# vim /etc/hosts [root@k8s-master ~]# ping k8s-master PING k8s-master (192.168.186.132) 56(84) bytes of data. 64 bytes from k8s-master (192.168.186.132): icmp_seq=1 ttl=64 time=0.047 ms 64 bytes from k8s-master (192.168.186.132): icmp_seq=2 ttl=64 time=0.084 ms 64 bytes from k8s-master (192.168.186.132): icmp_seq=3 ttl=64 time=0.078 ms ^C --- k8s-master ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2059ms rtt min/avg/max/mdev = 0.047/0.069/0.084/0.018 ms [root@k8s-master ~]# ping k8s-node1 PING k8s-node1 (192.168.186.130) 56(84) bytes of data. 64 bytes from k8s-node1 (192.168.186.130): icmp_seq=1 ttl=64 time=1.14 ms 64 bytes from k8s-node1 (192.168.186.130): icmp_seq=2 ttl=64 time=0.801 ms 64 bytes from k8s-node1 (192.168.186.130): icmp_seq=3 ttl=64 time=0.757 ms ^C --- k8s-node1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.757/0.899/1.139/0.170 ms [root@k8s-master ~]# ping k8s-node2 PING k8s-node2 (192.168.186.131) 56(84) bytes of data. 64 bytes from k8s-node2 (192.168.186.131): icmp_seq=1 ttl=64 time=0.443 ms 64 bytes from k8s-node2 (192.168.186.131): icmp_seq=2 ttl=64 time=0.748 ms 64 bytes from k8s-node2 (192.168.186.131): icmp_seq=3 ttl=64 time=0.857 ms ^C --- k8s-node2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2052ms rtt min/avg/max/mdev = 0.443/0.682/0.857/0.177 ms
~~~未完待续