k8s_使用k8s部署博客系统svc、secret、configmap(三)
service
service是抽象Pod对外提供服务的地址,将其固化的作用;屏蔽因pod的创删以及扩缩容带来ip变化。service通过自身定义文件的selector的标签配置匹配到需要提供服务的对象。
下面是整个wordpress系统部署的service定义文件,其中的selector配置的label是选择符合该label的pod并对其提供对外访问的服务
#api版本号
apiVersion: v1
#资源类型
kind: Service
metadata:
#service自身的名称
name: mysql
#service自身的标签
labels:
app: mysql
spec:
ports:
#service对外开放的端口
- port: 3306
#service关联资源对应container的端口,该端口与上面的port是绑定关系
targetPort: 3306
protocol: TCP
#service通过选择器配置的两个label选择符合这两个标签的pod,为这些pod提供对外服务
selector:
app: wordpress
tier: mysql-pod
#service类型,ClusterIp只对内部提供服务,nodePort类型可以对外提供服务
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
name: wordpress
labels:
app: wordpress
spec:
ports:
- port: 80
nodePort: 30008
targetPort: 80
protocol: TCP
selector:
app: wordpress
tier: frontend-pod
type: NodePort
创建service服务
[root@k8s-01 ~]# kubectl create -f service_mysql_wp.yml
查询service
[root@k8s-01 ~]# kubectl get service -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.1.0.1 <none> 443/TCP 62d <none>
mysql ClusterIP 10.1.103.194 <none> 3306/TCP 50d app=wordpress,tier=mysql-pod
wordpress NodePort 10.1.43.26 <none> 80:30008/TCP 50d app=wordpress,tier=frontend-pod
secret
secret资源是用来管理密码的,这里以管理mysql的密码为例进行演示
apiVersion: v1
kind: Secret
metadata:
name: mysql-pass
type: Opaque
#Opaque 隐藏,该类型使用kubectl的任何查看命令都看不到下面data部分定义的密码数据
data:
#敏感数据通过base64编码处理echo -n $str | base64
#password: root
password: cm9vdA==
#可以设置多组数据 #创建secret对象
[root@k8s-01 ~]# kubectl create -f secret_mysql.yml #查看创建的secret资源
[root@k8s-01 ~]# kubectl get secret
NAME TYPE DATA AGE
default-token-c8jx9 kubernetes.io/service-account-token 3 62d
mysql-pass Opaque 1 50d [root@k8s-01 ~]# kubectl describe secret mysql-pass
Name: mysql-pass
Namespace: default
Labels: <none>
Annotations: <none> Type: Opaque Data
====
password: 4 bytes
configmap
用于将系统的环境变量、配置参数使用资源对象交由k8s集群进行管理
配置文件解析即资源的创建和查看,整个wordpress系统中mysql需要设置dbname信息,这里以该参数配置为例
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-config
data:
db-name: wordpress
#可以设置多组数据,数值类型一定要使用""引起来,否则会报错
userage: "18"
dbuser: root #创建configmap
[root@k8s-01 ~]# kubectl create -f mysql_configmap.yml #查询创建的资源
[root@k8s-01 ~]# kubectl get configmap -o wide
NAME DATA AGE
mysql-config 3 50d
[root@k8s-01 ~]# kubectl describe configmap mysql-config
Name: mysql-config
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","data":{"db-name":"wordpress","dbuser":"root","userage":"18"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"m... Data
====
db-name:
----
wordpress
dbuser:
----
root
userage:
----
18
Events: <none>
k8s_使用k8s部署博客系统svc、secret、configmap(三)的更多相关文章
- 【云原生 · Kubernetes】部署博客系统
[云原生 · Kubernetes]Kubernetes运维 接着上次的内容,后续来了! (1)配置NFS服务 master节点安装NFS与RPC服务: # yum install -y nfs-ut ...
- 使用docker部署WordPress博客系统(win10企业版)
docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...
- 如何快速部署国人开源的 Java 博客系统 Tale
除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...
- linux下部署tomcat 上线jpress博客系统
tomcat Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器. tomcat有三个端口 开始部署 安装tomcat 第一步:下载tomcat 安装包 tomcat官网 ...
- 在github Pages上部署octopress搭建个人博客系统
原文链接:http://caiqinghua.github.io/blog/2013/08/26/deploy-octopress-to-github-pages/ 引子 上一篇博客已经说了为什么要搭 ...
- Docker 方式部署 Solo 博客系统总结
此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结> 最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...
- Tomcat 方式部署 Solo 博客系统总结
此篇为Tomcat部署方式,另有Docker部署方式,请参考文章<Docker 方式部署 Solo 博客系统总结> 一.环境和文件准备 服务器:购买的阿里云服务器,系统为Linux(C ...
- Centos 7使用docker部署LAMP搭建wordpress博客系统
0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...
- 使用Docker部署Spring-Boot+Vue博客系统
在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...
- 欢迎阅读daxnet的新博客:一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客.当然,我写博客也不是从2008年才开始的,在更早时候,也在CSDN和系统分析员协会(之后名为"希赛网" ...
随机推荐
- linux 信号 未决信号集和屏蔽信号集
有的地方,将屏蔽又叫阻塞? 在虚拟地址空间中,内核区的PCB中 有两个64位的值(集合),分别表示64个信号的未决状态(未被处理)和屏蔽与否 kill -l 可以查看linux中的所有信号,共64个 ...
- Python elasticsearch 使用心得
一.配置 python == 3.6/3.8 # 更高版本的elasticsearch会出现doc_type被统一成_doc导致旧版语句报错的情况 pip install elasticsearch= ...
- 【FPGA学习】MATLAB和FPGA实现FFT
本博客记录一下在matlab设计和在FPGA平台实现FFT的方法,平台是Xilinx的ZYNQ 参考: COE文件制作与使用 Vivado使用技巧(9):COE文件使用方法 .coe文件生成 在某些I ...
- CF1753C Wish I Knew How to Sort
正解: 这场我打过,E 题没做出来. 状态:\(dp_i\) 表示前 \(x\) 个有 \(i\) 个 \(0\),剩余步数的期望,\(x\) 为原序列 \(0\) 的个数. 转移:\(dp_i = ...
- Appium的触屏操作&设备交互api
Appium的触屏操作 TouchAction---Appium 2.0以上不在可以使用 官网地址:https://github.com/appium/appium/blob/master/docs/ ...
- java double/float转BigDecimal,精度问题
double/float 转BigDecimal,会有精度问题.所以需要转String类型,然后再转BigDecimal
- Codeforces 1132E(大数据多重背包)
题目链接 题意 给定背包容量$w$,体积分别为$1$到$8$的物体的数量求不超过背包容量的最大体积 思路 考虑将答案转化成$840 * x + y$的形式其中$840 = lcm(1-8), y &l ...
- RabbitMQ的安装与基本使用(windows版)
基本结构 windows安装 1. 先安装erlang开发语言,然后安装rabbitmq-server服务器(需要比对rabbitmq版本和erlang版本对应下载安装,我项目中选用的版本为otp_ ...
- Java使用Calendar获取月最大天数
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar ...
- web基础(7): JavaScript 简介/语法
chapter4 JS简介 JS 可以实现表单验证(比如填写简历时,必要的项目是否已经填写).返回顶部.小游戏.网页特效等. JS 的开发工具 Hbuilder 官网www.dcloud.io, 能快 ...