一、部署步骤

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. 内存参数kernel.shmmax和kernel.shmall的含义

    安装oracle数据库的时候,都要设置这个内核参数 vi /etc/sysctl.conf kernel.panic_on_oops = 1 1:程序出错,不继续运行 0:程序出错,继续运行 kern ...

  2. Android拍照程序适配

    public void takePic(){ String forderPath = getExternalFilesDir("") + "/pic"; Fil ...

  3. ES相关问题

    取消写入保护 参考:https://blog.csdn.net/xudailong_blog/article/details/80850159

  4. awk引用外部变量

    test]# cat tmp.tmp120.4987 12.717858119.801948 13.38588119.424529 14.024871119.337438 15.070484119.2 ...

  5. 【stm32】的PWM外设|学习笔记

    PWM简单理解就是生成PWM方波,主要可控的参数有周期,占空比,极性. stm32内置PWM生成器,我想应该是用TIM加比较器来实现的吧,那么如何实现stm32输出PWM波呢? 一.得知道那些IO可以 ...

  6. windows下rabbitmq启动报错--distribution port 25672 in use by another node: rabbit@DESKTOP-LLPGVVE

    最近公司有需求需要用到rabbitmq,因为之前习惯用的都是activemq,所以要临时学习一下,捣鼓这个rabbitmq.想着先在本地捣鼓测试一下,然后按照这个博主分享的安装方式进行安装. http ...

  7. uniapp 图片文件流

    uni.request({ url: '*****', //仅为示例,并非真实接口地址. method: 'GET', responseType: 'arraybuffer', data: {}, h ...

  8. C# snaps

    C# 启用 禁用 本地连接 1 static void Enable(string interfaceName) 2 { 3 System.Diagnostics.ProcessStartInfo p ...

  9. postgresql 之修改psql log信息级别

    1.修改当前使用的postgresql.conf文件vim /var/lib/pgsql/10/data/postgresql.conf 2.vim 下使用\notice 找到待修改项 client_ ...

  10. 访问不了github解决方案

    1.首先通过网址https://github.com.ipaddress.com/www.github.com查看当前github.com对应的IP地址,查到的信息如下图所示 修改hosts文件,wi ...