正在尝试为Rancher 2.X配置Nginx-从Rancher 1.X迁移
目前我在工作中使用rancher 1.x,我已经迁移到rancher 2x。我很难理解如何将它迁移到rancher 2.X,或者是否需要重新配置一切。 我使用迁移工具创建yaml文件,它为每个应用程序创建了2个文件、一个部署和一个服务 在rancher 2.x上添加服务文件时,它使用群集Ip创建了每个服务,创建了端口映射,其中发布服务端口作为my rancher 1x公共主机端口,目标端口作为my rancher 1.x专用容器端口 但是,目前我正在为不同版本的应用程序使用Nginx,并通过环境/堆栈为每个应用程序定位它们,下面是我当前Nginx.conf的一个示例正在尝试为Rancher 2.X配置Nginx-从Rancher 1.X迁移,nginx,kubernetes,rancher,Nginx,Kubernetes,Rancher,目前我在工作中使用rancher 1.x,我已经迁移到rancher 2x。我很难理解如何将它迁移到rancher 2.X,或者是否需要重新配置一切。 我使用迁移工具创建yaml文件,它为每个应用程序创建了2个文件、一个部署和一个服务 在rancher 2.x上添加服务文件时,它使用群集Ip创建了每个服务,创建了端口映射,其中发布服务端口作为my rancher 1x公共主机端口,目标端口作为my rancher 1.x专用容器端口 但是,目前我正在为不同版本的应用程序使用Nginx,并通过环境
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
listen 80;
#Aplication version 1
location /environment1/applicationStack{
proxy_pass http://<ipAdress for environment1 host>:3000/;
}
#Aplication version 2
location /environment2/applicationStack{
proxy_pass http://<ipAdress for environment2 host>:3000/;
}
#rancher
location /rancher {
rewrite ^([^.]*[^/])$ $1/ permanent;
rewrite ^/rancher/(.*)$ /$1 break;
proxy_pass http://<ipAdress for enviroment with nginx>:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
worker\u进程1;
error\u log/var/log/nginx/error.log warn;
pid/var/run/nginx.pid;
事件{
工人(1024);;
}
http{
服务器{
听80;
#应用程序版本1
位置/环境1/应用程序策略{
代理传递http://:3000/;
}
#应用程序版本2
位置/环境2/应用程序策略{
代理传递http://:3000/;
}
#牧场主
地点/牧场主{
重写^([^.]*[^/])$$1/永久;
重写^/rancher/(.*)$/$1段;
代理传递http://:8080;
代理_重定向关闭;
代理设置头主机$Host;
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
}
}
}
例如,如果我想连接到每个应用程序,它将是rancherDNS:8080/environmentVersion/stackName
我很难理解如何将它迁移到rancher 2.X,或者是否需要重新配置一切。如何配置nginx文件?我是否应该将每个服务群集IP与目标端口一起使用?还是发布端口?或者这个集群不是我应该配置的
另一件事是,我们目前在Travis中使用CI,如果Travis在部署中发布了一个新的pod,这不会影响我的服务,对吗?1.6.x中的环境将映射到2.x中的多个Kubernetes集群 您可以将1.6.x堆栈转换为2.x的部署或守护程序规范。然后您可以创建一个入口对象来访问它们。创建入口时,您可以直接指定主机名/fqdn,这样您就不必使用当前的nginx 如果希望使用当前的nginx,可以跳过在入口对象中指定fqdn/主机名,并使用集群的主机IP地址 想法:(您需要参考以探索各种入口选项,并为您的用例选择正确的入口)
#应用程序版本1
位置/附件1{
代理通过http://:80/app1;
}
此外,如果您想详细了解Ingress,您可能会发现我的演讲录音很有用:
#Aplication version 1
location /app1 {
proxy_pass http://<ipAdress k8s cluster 1 host>:80/app1;
}