kubernetes--Ingress配置证书

1、ingress是什么

Ingress:K8s中的一个抽象资源,给管理员提供一个暴露应用的入口定义方法

Ingress Controller:根据Ingress生成具体的路由规则,并对Pod负载均衡器

kubernetes--Ingress配置证书_第1张图片

2、HTTP的重要性

HTTPS是安全的HTTP,HTTP协议的内容都是明文传输,HTTPS的目的是将这些内容加密,确保信息传输安全,最后一个字母S值得是SSL/TLS协议,它位于HTTP协议与TCP/IP协议的中间。

HTTPS优势:

1.加密隐私数据,防止您访客的隐私信息(账号,地址,手机号等)被劫持或窃取。

2.安全身份认证:验证网站的真实性,防止钓鱼网站。

3.防止网页篡改:防止数据在传输过程中被篡改,保护用户体验。

4.地址栏安全锁:地址栏头部的“锁”型图标,提高用户信任度

5.提高SEO排名:提高搜索排名顺序,为企业带来更多访问量

3、将一个项目对外暴露HTTPS访问

流程

浏览器》》serviceNoePort 》》ingress controller >> 分布在各个节点上的pod

配置HTTPS步骤

1.准备域名证书文件(来自:openssl/cfssl工具自签或者权威机构颁发)

cat > ca-config.json < ca-csr.json < web.zhang.cn-csr.json <

将证书文件保存secret

【】kubectl create secret tls web-zhang-cn--cert=web.zhang.cn.pem --key=web.zhang.cn-key.pem

ingress规则配置tls(需要先部署ingress-controller)

本文默认已经部署,ingress-controller

【】添加ingress规则

apiVersion: networking.k8s.io/v1

kind: Ingress

metadata:

name: zhang-https

spec:

tls:

-hosts:

- web.zhang.cn

secretName: web-zhang-cn

rules:

-host: web.zhang.cn

http:

paths:

- path: /

pathType: Prefix

backend:

service:

name: web

port:

number: 80

---

apiVersion: v1

kind: Pod

metadata:

name: nginx

labels:

app.kubernetes.io/name: proxy

spec:

containers:

-name: nginx

image: nginx:stable

ports:

- containerPort: 80

name: http-web-svc

---

apiVersion: v1

kind: Service

metadata:

name: web

spec:

selector:

app.kubernetes.io/name: proxy

ports:

-name: nginx-service-port

protocol: TCP

port: 80

targetPort: http-web-svc

测试,本地电脑绑定hosts记录对应ingress里面配置的域名IP是Ingress Controller pod节点ip

你可能感兴趣的:(kubenetes,kubernetes,容器,云原生,安全)