Java进阶专题(二十八) Service Mesh初体验 (4)

搭建K8S之前,需要⼀些前置的准备⼯作,否则不能完成集群的搭建。

#修改主机名 hostnamectl set-hostname node2 hostnamectl set-hostname node3 #更新yum源,并且完成yum update操作 mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum makecache yum -yupdate #安装docker yum install -yyum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repohttps://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo yum makecache fast yum -yinstall docker-ce #启动docker服务 systemctl startdocker.service #开机⾃启 systemctl enable docker.service #添加docker阿⾥云加速器 sudo mkdir -p/etc/docker sudo tee/etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://c6n8vys4.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restartdocker #测试⼀下,看下载速度怎么样 docker pull redis docker rmi redis:latest #关闭防⽕墙 systemctl stopfirewalld.service systemctl disable firewalld.service #添加hosts映射 vim/etc/hosts 192.168.31.106 node1 192.168.31.107 node2 192.168.31.108 node3 scp /etc/hosts node2:/etc/ scp /etc/hosts node3:/etc/ #设置node1到node2、node3免登陆 ssh-keygen #⼀路下⼀步操作 ssh-copy-id node2 ssh-copy-id node3 #测试 sshnode2 sshnode3

集群搭建

#修改系统参数 # 将SELinux 设置为permissive 模式(相当于将其禁⽤) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/config # 禁⽤swap⽂件,编辑/etc/fstab,注释掉引⽤swap 的⾏ vim/etc/fstab swapoff -a # 设置⽹桥参数 vim/etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.ipv4.tcp_tw_recycle = 0 scp /etc/sysctl.conf node2:/etc/ scp /etc/sysctl.conf node3:/etc/ #⽴即⽣效 sysctl -p #安装kubectl vim/etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 yum list kubectl –showduplicates yum install -ykubectl.x86_64 kubectl version yum install -ykubelet kubeadm --disableexcludes=kubernetes #拉取所需要的镜像 kubeadm config images pull --image-repository=registry.cnhangzhou.aliyuncs.com/itcast --kubernetes-version=v1.18.6 #如果拉取失败,尝试这个:kubeadm config images pull --image-repository=lank8s.cn --kubernetes-version=v1.18.6 #开始初始化,如果使⽤lank8s.cn拉取的镜像,需要指定--image-repository=lank8s.cn kubeadm init --apiserver-advertise-address 192.168.31.106 --pod-networkcidr=10.244.0.0/16 --image-repository=registry.cn-hangzhou.aliyuncs.com/itcast --kubernetes-version=v1.18.6 #当看到Your Kubernetes control-plane has initialized successfully! 说明初始化成功了! #拷⻉admin.conf到home⽬录,否则出错:The connection to the server localhost:8080 was refused - did you specify the right host or port? mkdir -p $HOME/.kube sudo cp -i/etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config #设置⽹络kube-flannel.yml ⽂件在资料中 kubectl apply -fkube-flannel.yml #测试 [root@node1 k8s]# kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master 23m v1.18.6 #将node2、node3加⼊到集群,token要替换成⾃⼰的 kubeadm join 192.168.31.106:6443 --tokenekw4eu.cfi77sji1jyczhj6 --discoverytoken-ca-cert-hash sha256:21de4177eaf76353dd060f2a783c9dafe17636437ade020bc40d60a8ab903483 #测试 [root@node1 k8s]# kubectl get nodes NAME STATUS ROLES AGE VERSION node1 Ready master 31m v1.18.6 node2 Ready <none> 6m46s v1.18.6 node3 Ready <none> 2m21s v1.18.6 #说明集群组件成功了 #如果需要删除集群,执⾏kubeadm reset ,3台机器都需要执⾏ #查看正在执⾏的pod kubectl getpod --all-namespaces -owide

查看正在执⾏的pod,kubectl get pod --all-namespaces -o wide

Java进阶专题(二十八) Service Mesh初体验

搭建Istio环境 下载Istio

下载Istio,下载内容将包含:安装⽂件、示例和istioctl 命令⾏⼯具。

访问 Istio release ⻚⾯下载与您操作系统对应的安装⽂件。在macOS 或Linux 系统中,也可以通过以下命令下载最新版本的Istio:

$ curl -Lhttps://istio.io/downloadIstio | sh -

切换到Istio 包所在⽬录下。例如:Istio 包名为 istio-1.6.5,则:

$ cdistio-1.6.5

安装⽬录包含如下内容:
samples/ ⽬录下,有示例应⽤程序
bin/ ⽬录下,包含 istioctl 的客户端⽂件。istioctl ⼯具⽤于⼿动注⼊Envoy sidecar 代理。

将 istioctl 客户端路径增加到path 环境变量中,macOS 或Linux 系统的增加⽅式如下:

$ export PATH=$PWD/bin:$PATH

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjfpg.html