部署自己配置的nginx到kubernetes,并且能通过ingress访问
本文的环境介绍
[root@m-30-1 ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:22:21Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-04-27T09:10:24Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
[root@m-30-1 ~]# rpm -qf /etc/issue
centos-release-7-4.1708.el7.centos.x86_64
kubernetes集群是通过kubeadm安装的
首先创建镜像
[root@m-30-2 nginx-wis]# pwd
/opt/dockerfile/nginx-wis
[root@m-30-2 nginx-wis]# ls
Dockerfile index.html
[root@m-30-2 nginx-wis]# cat Dockerfile
FROM nginx
MAINTAINER wis
COPY index.html /usr/share/nginx/html/index.html
[root@m-30-2 nginx-wis]# cat index.html
hello from wis
然后创建镜像,我们可以先打一个简单的tag然后在打一个私仓的tag,不过我们的这个镜像最终也是要传到私仓,所以直接打私仓的tag
[root@m-30-2 nginx-wis]# docker build . -t harbor.my.domain/library/wis-nginx
Sending build context to Docker daemon 3.072 kB
Step 1/3 : FROM nginx
---> ae513a47849c
Step 2/3 : MAINTAINER wis
---> Running in 29aeb5fdae33
---> b68a66ae794c
Removing intermediate container 29aeb5fdae33
Step 3/3 : COPY index.html /usr/share/nginx/html/index.html
---> 81945be11b0c
Removing intermediate container be67728dad51
Successfully built 81945be11b0c
登录私仓 默认的用户名密码admin/Harbor12345,docker的systemd启动文件中要加入--insecure-registry harbor.my.domain
,然后我是本机绑的hosts,我用的harbor私仓在172.16.30.1 harbor.my.domain
,这个机器上
docker login harbor.my.domain
登录成功后
[root@m-30-2 nginx-wis]# docker push harbor.my.domain/library/wis-nginx
The push refers to a repository [harbor.my.domain/library/wis-nginx]
6a1acaa1b8e7: Pushed
7ab428981537: Pushed
82b81d779f83: Pushed
d626a8ad97a1: Pushed
latest: digest: sha256:974de0760e53a8d46c07ce7ff985e0aca55380e9ae134bbf82fcc1ac8b98324c size: 1155
[root@m-30-2 nginx-wis]#
创建wis-nginx的deployment和service
[root@m-30-2 ingress]# kubectl run wis-nginx --image=harbor.my.domain/library/wis-nginx --expose=true --port=80
service "wis-nginx" created
deployment.apps "wis-nginx" created
创建ingress
[root@m-30-2 ingress]# pwd
/opt/ingress
[root@m-30-2 ingress]# cat wis-nginx.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: wis-nginx
namespace: ops
spec:
rules:
- host: wis-nginx.com
http:
paths:
- backend:
serviceName: wis-nginx
servicePort: 80
本机绑定这个hosts
172.16.30.2 wis-nginx.com
然后本机就能访问这个页面了(在浏览器输入 wis-nginx.com
)
部署自己配置的nginx到kubernetes,并且能通过ingress访问的更多相关文章
- Docker集群实验环境布署--swarm【6 配置上层Nginx代理,让任意Docker client访问得到高可用的管理API】
10.40.42.10上,也就是对应的VRRP中的10.40.42.1和2上,配置nginx tcp代理 # cat 4000_manager.venic.com_10.40.100.141-14 ...
- Nginx 安装与部署配置以及Nginx和uWSGI开机自启
下载 官方网站:https://nginx.org/en/download.html Windows下安装 安装 下载后解压(切记不能含有中文路径!!),文件结构如图(我解压的路径就有中文,记得拷贝放 ...
- 项目测试环境自动化部署[jenkins前后端配置、Nginx配置]
持续部署:关注点在于项目功能部署到服务器后可以正常运行,为下一步测试环节或最终用户正式使用做准备.(问题点:一个环节有问题,其他环节跟着有问题) 持续集成:关注点是在于尽早发现项目整体运行问题,尽早解 ...
- Linux中Nginx服务器的部署和配置
目录 Nginx安装方式: yum源安装 目录结构: 源码包安装 目录结构: Nginx中支持PHP Nginx中配置php对mysql数据库的支持 Nginx配置反向代理服务器 正常代理 根据不同端 ...
- SSL证书部署HTTPS站点Apache/Nginx配置
SSL证书及HTTPS协议 SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的 ...
- 把H2数据库从jar包部署到Kubernetes,并解决Ingress不支持TCP的问题
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! H2 Database是一个优秀的数据库,又小又方便,支持内存和文件形式,经常会在测试.POC(proof of conce ...
- Ubuntu 18.04 安装部署Net Core、Nginx全过程
Ubuntu 18.04 安装部署Net Core.Nginx全过程 环境配置 Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt 更新系统 sudo a ...
- 部署Asp.net core & Nginx,通过nginx转发
部署Asp.net core & Nginx,通过nginx转发 CentOS 7 x64 1.vs2017 建立Asp.net core项目,并发布到目录 2.通过FTP工具,将程序copy ...
- ubuntu配置Python-Django Nginx+uwsgi 安装配置
安装Nginx sudo apt-get install nginx ubantu安装完Nginx后,文件结构大致为: 所有的配置文件都在 /etc/nginx下: 启动程序文件在 /usr/sbin ...
随机推荐
- cat查阅文件技巧
一.打印除匹配行之外的其它行,使用-v 打印除$和#的注释行:cat file| grep -v ^$ | grep -v ^#
- 今天看了几个小时的微信小程序说说心得体会
今天看了几个小时的微信小程序说说心得体会 小程序是个前端框架 根据微信相关提供了很多接口 1 先说说各种后缀的文件 .json 后缀的 JSON 配置文件.wxml 后缀的 WXML 模板文件.wxs ...
- 清除eclipse,STS workspace历史记录
记一下 打开eclipse下的/configuration/.settings目录 修改文件org.eclipse.ui.ide.prefs文件 把RECENT_WORKSPACES这项修改为你需要的 ...
- centos下安装djangobb
曾经在freenas虚拟环境下安装过djangobb,因为要安装的依赖文件太多,最后没有安装成功. 今晚在centos6.9 下,先创建了虚拟环境,然后照着官方网站的快速安装指南,安装后也运行不了,后 ...
- 【FZSZ2017暑假提高组Day1】确定小组
[问题描述] 有n个人坐成一排,这n个人都在某一个小组中,同一个小组的所有人所坐的位置一定是连续的. 有一个记者在现场进行采访,他每次采访都会询问一个人其所在的小组有多少人,被询问的每个人都给出了正确 ...
- ListView的基本使用方法和RecyclerView的基本使用方法
ListView是一种用于列表显示数据内容的控件,它可以通过适配器实现对于数据的列表显示,而RecyclerView是对于ListView优化后的列表数据显示控件. 个人对于List的使用经历多半在新 ...
- jmeter 测试计划
进行 jmeter 测试时首先都要有一个测试计划,测试计划下的一些名词解释:
- LevelDB源码分析-TableBuilder生成sstable
TableBuilder生成sstable(include/table_builder.h table/table_builder.cc) LevelDB使用TableBuilder来构建sstabl ...
- linux下用python搭建简单的httpServer
1.服务器端:python -m SimpleHTTPServer 12000 python -m : 相当于import,当做模块来启动; 后面的12000代表的是端口 使用浏览器打开如下: 2. ...
- 框架和内嵌框架--->frameset 和 iframe 的文档对象
框架和内嵌框架分别用 HTMLFrameElemnt 和 HTMLIFrameElement 表示,它们在 DOM2 中有一个新属性----->contentDocument,是一个指针,表示框 ...