前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >mac 上学习k8s系列(8)external auth

mac 上学习k8s系列(8)external auth

作者头像
golangLeetcode
发布2022-08-02 19:24:52
发布2022-08-02 19:24:52
20200
代码可运行
举报
运行总次数:0
代码可运行

上一讲介绍了basic oauth 后mac 上学习k8s系列(7)basic auth,这一讲介绍如何使用外部的basic auth服务,这里使用一个http://httpbin.org的服务。

我们可以测试下这个服务

代码语言:javascript
代码运行次数:0
复制
% curl -i https://httpbin.org/basic-auth/user/passwd         
HTTP/2 401 
date: Thu, 26 Aug 2021 02:40:51 GMT
content-length: 0
server: gunicorn/19.9.0
www-authenticate: Basic realm="Fake Realm"
access-control-allow-origin: *
access-control-allow-credentials: true

传入用户名和密码后

代码语言:javascript
代码运行次数:0
复制
% curl -i https://user:passwd@httpbin.org/basic-auth/user/passwd
HTTP/2 200 
date: Thu, 26 Aug 2021 02:41:04 GMT
content-type: application/json
content-length: 47
server: gunicorn/19.9.0
access-control-allow-origin: *
access-control-allow-credentials: true

{
  "authenticated": true, 
  "user": "user"
}

我们来配置下Ingress

代码语言:javascript
代码运行次数:0
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-url: https://httpbin.org/basic-auth/user/passwd
  creationTimestamp: 2016-10-03T13:50:35Z
  generation: 1
  name: external-auth
  namespace: default
  resourceVersion: "2068378"
  selfLink: /apis/networking/v1/namespaces/default/ingresses/external-auth
  uid: 5c388f1d-8970-11e6-9004-080027d2dc94
spec:
  rules:
  #- host: external-auth-01.sample.com
   - http:
      paths:
      - pathType: Prefix
        path: /apple
        backend:
          service:
            name: apple-service
            port:
              number: 5678
#status:
#  loadBalancer:
#    ingress:
#    - ip: 172.17.4.99

重启下ingress-nginx

代码语言:javascript
代码运行次数:0
复制
kubectl delete -f ../../ingress-controller.yaml
kubectl delete -f ../basicAuth/ingress-with-auth.yaml
kubectl apply -f ingress-external-auth.yaml 
kubectl apply -f ../../ingress-controller.yaml

测试下

代码语言:javascript
代码运行次数:0
复制
curl 127.0.0.1/apple                     


<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx</center>
</body>
</html>
代码语言:javascript
代码运行次数:0
复制
% curl user:passwd@127.0.0.1/apple
/apple% 
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 golang算法架构leetcode技术php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档