• YueShi
    2022-08-12 来自北京
    使用http://wp.test/访问,需要在host改wp-kic-dep部署的那个节点的ip才可以

    作者回复: great

    
    8
  • dao
    2022-08-17 来自北京
    因为前面几节都是按照文稿来演练,坑都踩完了,本节很轻松完成。 作业: 1. 直接可以由 deployment 改编一下:修改 Kind,移除 replicas ; 根据需要添加 tolerations 设置。 2. 为 Ingress Controller 创建 Service 对象,用YAML样板来实现吧 ```bash kubectl expose deploy wp-kic-dep --port=80,443 --type=NodePort --name=wp-kic-svc -n nginx-ingress $out ``` 大概的 YAML ```yaml - name: http port: 80 protocol: TCP targetPort: 80 nodePort: 30080 - name: https port: 443 protocol: TCP targetPort: 443 nodePort: 30443 ``` 记得移除 ingress controller deployment 里的 `hostNetwork: true`。 现在就可以愉快地访问 https://wp.test:30443/ 。

    作者回复: great

    共 3 条评论
    7
  • 大毛
    2023-06-16 来自北京
    以下是我在进行操作时遇到的坑,给大家填一下: 1. 在运行 nginx controller 的时候,pod 的状态一直不是 running,查看日志最后显示的是 bind() to 0.0.0.0:80 failed (13: Permission denied)。经过查资料发现,这是因为在运行 pod 的时候会桥接宿主机的 80 端口,而 80 端口是受保护的。解决办法是在 securityContext 中添加 allowPrivilegeEscalation: true,即可以进行特权升级。(https://github.com/nginxinc/kubernetes-ingress/issues/3932) 2. 不管你用什么设备访问 wp.test,请关掉科学上网软件,否则可能 502

    作者回复: great!

    共 2 条评论
    6
  • YueShi
    2022-08-14 来自北京
    改成DaemonSet只需要把kind的Deployment变成DeamonSet、把replicas注释掉就可以

    作者回复: good

    
    4
  • peter
    2022-08-11 来自上海
    老师,22讲最后一步,就是创建nginx controller失败,POD状态是“CrashLoopBackOff”。用logs命令查看,错误信息是: Error when getting IngressClass wp-ink: ingressclasses.networking.k8s.io "wp-ink" is forbidden: User "system:serviceaccount:nginx-ingress:nginx-ingress" cannot get resource "ingressclasses" in API group "networking.k8s.io" at the cluster scope 不知道是什么意思?不知道怎么修改? (能看懂英文,但不知道说的是什么) (注:kic文件是拷贝老师的,https://github.com/chronolaw/k8s_study/blob/master/ch3/wp-kic.yml 完全拷贝,成功创建)

    作者回复: 应该是前面没有安装好Nginx Ingress Controller吧,需要运行Ingress目录里的setup.sh,apply相关的YAML 。

    
    4
  • Lorry
    2023-01-26 来自四川
    关于hostNetwork方式,分享一点,就是hostNetwork这种形式虽然可以让外界访问到,但是你一定要让外界机器通过域名,这里是“wp.test”能够路由到这台机器,当然这个很简单,只要在/etc/hosts里面添加一条记录就可以,但是wp.test要映射到哪一台机器?开始我在这个地方卡了好久,以为配置的是master机器,但是其实不是,应该是ingress controller的pod部署的那台机器,通过命令(kubectl get pod -n nginx-ingress -o wide)可以查看到pod是部署的机器,然后决定映射的ip; 这一点文章中有提到,但是容易忽略。

    作者回复: great

    
    3
  • Geek_2ce074
    2022-08-10 来自北京
    老师你好,Ingress Controller 对象,在哪个 Nginx 项目的示例 YAML 里有呀,根本找不到呀

    作者回复: 参考这个:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/

    
    3
  • romance
    2022-08-10 来自北京
    老师,数据库配置没问题,svc也正常,但访问网站时提示 Error establishing a database connection,不知道什么原因

    作者回复: 应该是WordPress配置的不对吧,看看环境变量的设置。

    共 6 条评论
    3
  • jason
    2023-03-01 来自广东
    老师,wp.test这个域名需要指定ingress controller那个pod所在的节点ip,而ingress controller是通过deployment来管理的,pod重建时可能会被部署到别的节点,这样不是又要改host配置了吗?想问一下生产环境是怎样解决这个问题的。

    作者回复: 生产环境用的一般是把Ingress Controller的service配置成LoadBalancer,云厂商会自动分配IP地址,我们这个是实验环境,所以比较简陋。

    
    2
  • 菲茨杰拉德
    2022-11-23 来自北京
    配置hosts后,解析出来的还是ingress的ip,在七层负载不还是相当于用的ip来访问的吗?这个解析过程不是k8s做的吧。 我原来理解的是七层负载走http,通过域名来访问。输入域名后,k8s解析然后找到四层的ip和端口然后请求。

    作者回复: 域名解析是由运行在Kubernetes里的coredns实现的,不是Kubernetes自身的功能,可以认为是插件。

    共 2 条评论
    2