一、部署步骤

1、安装nginx-ingress-controller

2、创建secret绑定证书

3、创建测试服务

4、创建ingress

5、测试https访问

二、安装nginx-ingress-controller

1、部署helm

[root@master ~]# wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz
[root@master ~]# tar zxvf helm-v3.7.2-linux-amd64.tar.gz
[root@master ~]# cp linux-amd64/helm /usr/local/bin/

2、添加helm chat

[root@master ~]# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

3、添加标签

[root@master ~]# kubectl label nodes nodename node=ingress

nodename修改为部署ingress-nginx-controller的节点名称

4、部署nginx-ingress-controller

helm install nginx-ingress ingress-nginx/ingress-nginx   --namespace ingress-nginx   --create-namespace   --set controller.image.registry=willdockerhub   --set controller.image.image=ingress-nginx-controller   --set controller.image.tag=v1.0.0   --set controller.image.digest=""   --set controller.hostNetwork=true   --set controller.kind=DaemonSet   --set controller.service.type=ClusterIP   --set controller.hostPort.enable=true   --set controller.admissionWebhooks.enabled=false --set controller.hostPort.http=80   --set controller.hostPort.https=443   --set controller.nodeSelector.node=ingress

5、查看80、443是否开放

[root@master ~]# kubectl get pod -n ingress-nginx -o wide

登录node显示的controller部署节点执行以下命令查看端口是否开放

[root@master ~]# ss -anp|grep :443

三、创建secret绑定证书

1、申请阿里云SSL证书

2、创建secret绑定证书

[root@master ~]# kubectl create secret tls ingress-secret --key=6839102_test.k8sstudy.online.key --cert=6839102_test.k8sstudy.online.pem -n kube-system

四、创建测试服务

1、准备yaml文件

[root@master ~]# cat >>hello-world.yaml<<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: helloworld-nodejs
name: helloworld-nodejs
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: helloworld-nodejs
template:
metadata:
labels:
app: helloworld-nodejs
spec:
containers:
- image: docker.io/xzxiaoshan/helloworld-nodejs:latest
name: helloworld-nodejs
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: helloworld-nodejs
namespace: kube-system
spec:
selector:
app: helloworld-nodejs
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
- name: https
port: 443
protocol: TCP
targetPort: 8080
EOF

2、创建测试服务

[root@master ~]# kubectl apply -f hello-world.yaml

五、创建ingress

1、准备yaml文件

[root@master ~]# cat >>ingress.yaml<<EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world
namespace: kube-system
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: test.k8sstudy.online
http:
paths:
- backend:
serviceName: helloworld-nodejs
servicePort: 80
path: /
tls:
- hosts:
- test.k8sstudy.online
secretName: hello-world-secret
EOF

2、创建ingress

[root@master ~]# kubectl apply -f ingress.yaml

六、测试https访问

1、配置hosts解析

Windows配置路径:C:\Windows\System32\drivers\etc\hosts

2、浏览器访问

k8s配置ingress的https访问的更多相关文章

  1. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  2. 安装配置ingress-nginx支持https访问

    说明: ​ 1.k8s版本:v1.23: ​ 2.内网测试环境1台master,2台node节点,使用 DaemonSet+HostNetwork+nodeSelector 方式部署 ingress- ...

  3. windows下配置svn的https访问

    svn是一个功能强大的代码版本管理系统,可以将服务端安装在linux.unix以及windows下.svn通常采用http方式进行代码提交与下载.由于密码采用明文传输,因此存在泄密的风险.若采用htt ...

  4. 阿里云服务器在控制台配置网页强制https访问

    最近接触到一个新的网站,网站的访问方式,是http, 因此在浏览器打开的时候老是显示不安全.因此要配置https访问. 首先,先说明服务器是在阿里云的,域名也是阿里云的. 方法一 1 首先在阿里云的c ...

  5. 配置apache使用https访问

    准备 yum install mod_ssl openssl 生成一个自签名证书 cd /etc/pki/CA 1.生成2048位的加密私钥 openssl genrsa -out server.ke ...

  6. Nginx配置SSL实现HTTPS访问

    nginx配置文件如下: server { listen 443 ssl; server_name www.domain.com; root /www/web; index index.html in ...

  7. Nginx和Tomcat配置SSL实现https访问

    环境:CentOS 7 Nginx版本: nginx/1.18.0 1. 安装nginx 详细步骤可以参考如下官网:http://nginx.org/en/linux_packages.html#RH ...

  8. K8S配置多集群访问

    中文官档: http://docs.kubernetes.org.cn/823.html 背景:我们通过会有多个k8s集群,例如集群(cn-k8s)和集群(jp-k8s),那个就需要有一台服务器可以同 ...

  9. Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)

    准备工作 1.基于nginx部署好的站点(本文站点是基于.Net Core2.0开发的WebApi,有兴趣的同学可以跳http://www.cnblogs.com/GreedyL/p/7422796. ...

  10. https----------如何在phpstudy环境下配置apache的https访问以及访问http自动跳转成https

    1.首先在 httpd.conf里面修改几个地方 找到 #LoadModule ssl_module modules/mod_ssl.so 去掉前面的# Include conf/vhosts.con ...

随机推荐

  1. 【文献阅读】An efficient motion planning based on grid map: Predicted Trajectory Approach with global path guiding

    (1)主要工作内容 本文提出了一种基于轨迹预测法的欠驱动无人艇的全局运动规划算法.该方法考虑了无人艇的所有动力学约束,并且能找到一条根据船舶自身操纵系统进行跟踪的全局轨迹. 根据USV数学模型生成的预 ...

  2. vscode将本地代码实时同步到服务器

    vscode近些年变得越来越流行了,主要是IDEA用上去实在有点卡,机器卡崩溃几次,这段时间也想用vscode体验一下,在自己的一些项目上面,想实现像phpstorm或者goland那样直接把代码通过 ...

  3. solt废弃,报错解决方法

    1.饿了么组件库给出得文字提示框 写到项目里之后报错 提示 solt已经废弃 <el-tooltip placement="top"> <div slot=&qu ...

  4. corkscrew在ssh中发生错误

    使用绝对路径 ProxyCommand="corkscrew 127.0.0.1 12345 jump.123.com 2020" abc@efg.com 改为 ProxyComm ...

  5. RSTP-快速生成树协议

    1 STP的不足之处STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量. 2 RSTP概述RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP. 通过接口 ...

  6. git log 的常用用法

    1.最基本的 git log 2.简化版本 git log --oneline 3. 作者筛选 4.时间筛选 git log --since="2022.05.26" --unti ...

  7. Word List 2023

    Word List 2023 记录 2023 年阅读论文时遇到的单词 wildcard 通配符 wildcard predicate 通配符谓词 maturation 成年过程:长大成人 ever-i ...

  8. 远程CG动画制作的神器:RayLink远程控制软件

    近几年疫情变幻多端,加上数字经济的快速发展,直接助推各行各业信息化发展.越来越多企业打破传统固定办公室的限制,对工作场所的选择愈加灵活.自由化.诸如居家办公.外地出差办公.会议协同办公等远程办公的应用 ...

  9. C#动态创建对象和其属性

    dynamic contact = new ExpandoObject(); contact.Name = "Patrick Hines"; contact.Phone = &qu ...

  10. 记录坑:Chrome谷歌浏览器最小化和页面遮挡后JS代码不稳定

    问题:用定时器 setInterval()做个滚动通知的动画,浏览器最小化时,定时器 setInterval()失效了,导致滚动条重叠了 可能原因: js代码不稳定 Chrome谷歌浏览器最小化和页面 ...