k8s安装ingress
1. 环境准备
安装nginx-ingress-controller和backend
cd /etc/yum.repos.d/mainfests
下载镜像的脚本 vi ingressnginx.sh
#!/bin/bash
images=(
nginx-ingress-controller:0.9.-beta.
defaultbackend:1.4) for imageName in ${images[@]} ; do
docker pull docker.io/chenliujin/$imageName
docker tag docker.io/chenliujin/$imageName gcr.io/google_containers/$imageName
docker rmi docker.io/chenliujin/$imageName
done
为了防止在执行 default-backend.yaml发现意外错误,在所有节点执行以下操作
docker pull docker.io/chenliujin/defaultbackend:1.4
docker tag docker.io/chenliujin/defaultbackend:1.4 gcr.io/google_containers/defaultbackend:1.4
docker rmi docker.io/chenliujin/defaultbackend:1.4
2. 下载必需的yaml文件并执行
cd /home/k8s/ingressimage
编写下载yaml的脚本 vi downimages.sh
for file in namespace.yaml configmap.yaml rbac.yaml tcp-services-configmap.yaml with-rbac.yaml udp-services-configmap.yaml default-backend.yaml;
do wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.17.0/deploy/$file; done
kubectl apply -f namespace.yaml
kubectl get ns
kubectl apply -f ./
kubectl get pods -n ingress-nginx --show-labels
3. 编写测试文件
cd /home/k8s/ingress vi deploy-demo.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp
namespace: default
spec:
selector:
app: myapp
release: canary
ports:
- name: http
targetPort:
port:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deploy
namespace: default
spec:
replicas:
selector:
matchLabels:
release: canary
template:
metadata:
labels:
app: myapp
release: canary
spec:
containers:
- name: myapp
image: ikubernetes/myapp:v2
ports:
- name: http
containerPort:
kubectl apply -f deploy-demo.yaml
kubectl get svc
kubectl get pods
cd /home/k8s/ingresstest
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.17.0/deploy/provider/baremetal/service-nodeport.yaml
修改其中的内容为
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx
namespace: ingress-nginx
spec:
type: NodePort
ports:
- name: http
port:
targetPort:
protocol: TCP
nodePort:
- name: https
port:
targetPort:
protocol: TCP
nodePort:
selector:
app: ingress-nginx
kubectl apply -f service-nodeport.yaml
最后访问在浏览器访问:http://47.102.46.176:30080/ 如果出现 default backend - 404 表示成功
4. 通过修改域名访问
vi ingress-myapp.yaml
# 内容是
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-myapp
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: myapp.klvchen.com
http:
paths:
- path:
backend:
serviceName: myapp
servicePort: # 创建 ingress
kubectl apply -f ingress-myapp.yaml # 查看 ingress
kubectl get ingress # 查详细信息 ingress
kubectl describe ingress ingress-myapp # 通过修改 host 可以通过域名访问,修改 hosts 文件,添加下面记录
192.168.0.205 myapp.klvchen.com # 访问 http://myapp.klvchen.com:30080/
k8s安装ingress的更多相关文章
- Kubernetes用Helm安装Ingress并踩一下使用的坑
1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Ingress是Kubernetes一个非常重要的Controller,它类似一个路由转发的组件,可以让外界访问Kubern ...
- k8s 安装文档
k8s 安装文档 1.5 http://blog.csdn.net/bobpen/article/details/78958675
- [转帖]理解k8s 的 Ingress
理解k8s 的 Ingress https://www.jianshu.com/p/189fab1845c5/ 暴露一个http服务的方式 service 是 k8s 暴露http服务的默认方式, 其 ...
- k8s 安装 istio 的坑
本文针对于二进制部署的k8s安装istio1.67版本 没有设置admin.conf的小伙伴请参考 https://www.cnblogs.com/Tempted/p/13469772.html 1. ...
- Kubernetes K8S之Ingress详解与示例
K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- 容器编排系统k8s之Ingress资源
前文我们了解了k8s上的service资源的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14161950.html:今天我们来了解下k8s上的In ...
- k8s 执行 ingress yaml 文件报错: error when creating "ingress-myapp.yaml": Internal error occurred: failed calling webhook
k8s 执行 ingress yaml 文件报错:错误如下: [root@k8s-master01 baremetal]# kubectl apply -f ingress-test.yaml Err ...
- docker k8s安装
docker安装 删除依赖包 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docke ...
- 使用helm安装ingress,实现用域名的方式访问k8s内部应用
k8s集群版本 k8s集群版本是1.22 提前部署好nginx服务和创建好svc deployment方式部署的nginx服务,1个副本 创建的服务 通过服务可以代理到nginx服务 curl 10. ...
随机推荐
- SQL中join和cross join的区别
SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...
- 使用HttpClient访问WebHook
代码: import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.c ...
- Windows安装Redis并添加本地自启动服务并解决客户端dll报错
参考文章:https://blog.csdn.net/realjh/article/details/82026160 Redis下载: https://github.com/MicrosoftArch ...
- v关于使用Glide加载图片失败时显示自己特定的图片
Glide是Android加载图片的一个框架. 常用加载图片到imageView:Glide.with(this).load(url).into(ImageView imageview). 当加载失败 ...
- Eclipse下代码字体背景变红/变绿/变黄原因
如下图所示:不知道怎么,在eclipse IDE手抖按了啥,就成这样了. 后来在stackoverflow提问后,找到了原因.eclipse 有测试代码覆盖率的功能,也就是执行Run——>Cov ...
- 一秒解决--------No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
在打war包时候遇到错误: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (d ...
- dubbo+zookeeper+springboot简单示例
目录 dubbo+zookeeper+springboot简单示例 zookeeper安装使用 api子模块 生产者producer 消费者consumer @(目录) dubbo+zookeeper ...
- 改进初学者的PID-修改整定参数
最近看到了Brett Beauregard发表的有关PID的系列文章,感觉对于理解PID算法很有帮助,于是将系列文章翻译过来!在自我提高的过程中,也希望对同道中人有所帮助.作者Brett Beaure ...
- 【Leetcode_easy】1137. N-th Tribonacci Number
problem 1137. N-th Tribonacci Number solution: class Solution { public: int tribonacci(int n) { ) ; ...
- iptables拦截tcp报文syn/ack/rst/psh/fin
https://www.cnblogs.com/Qingluan/p/5137136.html https://blog.csdn.net/weixin_34216107/article/detail ...