当前位置: 首页 > news >正文

K8S-应用访问

1 service对象定位

image.png

2 Service 实践

手工创建Service

根据应用部署资源对象,创建SVC对象
kubectl expose deployment nginx --port=80 --type=NodePort

yaml方式创建Service

nginx-web的service资源清单文件
apiVersion: v1
kind: Service
metadata:name: sswang-nginx-weblabels:app: nginx-web
spec:type: NodePortselector:app: nginx-webports:- protocol: TCPname: httpport: 80targetPort: 80nodePort: 31080
tomcat-web的service资源清单文件
apiVersion: v1
kind: Service
metadata:name: sswang-tomcat-weblabels:app: tomcat-web
spec:type: NodePortselector:app: tomcatports:- protocol: TCPname: httpport: 8080targetPort: 8080nodePort: 31880

3 外部Service

部署外部mysql环境

准备软件源
]# cat /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgcheck=0更新系统软件包:
yum makecache fast安装 MySQL 服务器
yum install mariadb-server mariadb -y 设置 MySQL 服务在启动时自动启动
systemctl start mariadb.service
systemctl enable mariadb.service
开启 MySQL 服务器远程访问能力
]# vim /etc/my.cnf.d/server.cnf
[mysqld]
bind-address = 0.0.0.0重启 MySQL 服务使配置生效
systemctl restart mariadb.service配置远程主机登录权限
mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;"
mysql -uroot -p123456 -e "FLUSH PRIVILEGES;"
主库上创建数据库
]# mysql -uroot -p123456 -e "
CREATE DATABASE bookinfo default charset utf8 collate utf8_general_ci;
USE bookinfo;
CREATE TABLE book_info (id INT AUTO_INCREMENT PRIMARY KEY,book_name VARCHAR(100),author VARCHAR(100),date_of_issue DATE,isDelete BOOLEAN
);
INSERT INTO book_info (book_name, author, date_of_issue, isDelete) VALUES('Book 1', 'Author 1', '2022-01-01', FALSE),('Book 2', 'Author 2', '2022-02-01', FALSE),('Book 3', 'Author 3', '2022-03-01', TRUE);
"

定制资源清单文件

apiVersion: v1
kind: Namespace
metadata:name: external-ns
---
apiVersion: v1
kind: Endpoints
metadata:name: ex-mysqlnamespace: external-ns
subsets:- addresses:- ip: 10.0.0.18ports:- port: 3306
---
apiVersion: v1
kind: Service
metadata:name: ex-mysqlnamespace: external-ns
spec:type: ClusterIPports:- port: 3306targetPort: 3306
---
apiVersion: apps/v1
kind: Deployment
metadata:name: bookinfonamespace: external-ns
spec:replicas: 1selector:matchLabels:app: flask-bookinfotemplate:metadata:labels:app: flask-bookinfospec:containers:- name: flask-bookinfoimage: kubernetes-register.sswang.com/sswang/flask_bookinfo:2.3.2imagePullPolicy: Alwaysports:- containerPort: 5000env:- name: DB_HOSTvalue: "ex-mysql"- name: DB_USERvalue: "root"- name: DB_PASSWORDvalue: "123456"- name: DB_DATABASEvalue: "bookinfo"
http://www.lryc.cn/news/275020.html

相关文章:

  • 商智C店H5性能优化实战
  • Unity 使用 Plastic 同步后,正常工程出现错误
  • 详细设计文档该怎么写
  • 集团企业OA办公协同平台建设方案
  • Spring Security之认证
  • 智能语音机器人NXCallbot
  • Vue 3中toRaw和markRaw的使用
  • 移动神器RAX3000M路由器不刷固件变身家庭云之三:外网访问家庭云
  • 基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例
  • go语言gin框架的基本使用
  • TypeScript 从入门到进阶之基础篇(六) 类型(断言 、推论、别名)| 联合类型 | 交叉类型
  • Linux操作系统基础(14):文件管理-文件属性命令
  • metaSPAdes,megahit,IDBA-UB:宏基因组装软件安装与使用
  • Apache、MySQL、PHP编译安装LAMP环境
  • L1-087:机工士姆斯塔迪奥
  • 如何做一个炫酷的Github个人简介(3DContribution)
  • 基于单片机的护理床控制器设计
  • 《3D数学基础-图形和游戏开发》阅读笔记 | 3D数学基础 (学习中 1.6更新)
  • 解锁测试性能瓶颈:深度探讨JMeter分布式性能测试!
  • SiC电机控制器(逆变器)发展概况及技术方向
  • useContext
  • Java数据结构:1. 数据结构前置知识
  • Vue中使用Element UI的Table组件实现嵌套表格(最简单示例)
  • 如何使用RESTful API构建 web 应用程序
  • 开启Android学习之旅-4-Android集成FontAwesome
  • Qt——TCP UDP网络编程
  • 有什么安全处理方案可以有效防护恶意爬虫
  • Flutter3.X基础入门教程(2024完整版)
  • GEE——土地利用分类种两个矢量集合中不同列进行相减的方式(利用join进行连接处理)
  • mnn-llm: 大语言模型端侧CPU推理优化