首页 > 其他分享 >Kubernetes应用1

Kubernetes应用1

时间:2022-11-11 17:32:01浏览次数:48  
标签:name Kubernetes -- root value wordpress 应用 mydb

1、传递环境变量创建mysql
[root@master-101 ~]#kubectl create service clusterip mydb --tcp=3306:3306 --dry-run=client -o yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: mydb
name: mydb
spec:
ports:
- name: 3306-3306
port: 3306
protocol: TCP
targetPort: 3306
selector:
app: mydb
type: ClusterIP
status:
loadBalancer: {}
[root@master-101 ~]#kubectl create service clusterip mydb --tcp=3306:3306 --dry-run=client -o yaml > service-mydb.yaml
[root@master-101 ~]#vim service-mydb.yaml

apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: mydb
name: mydb
spec:
ports:
- name: 3306-3306
port: 3306
protocol: TCP
targetPort: 3306
selector:
app: mydb
type: ClusterIP
status:
loadBalancer: {}
[root@master-101 ~]#kubectl apply -f service-mydb.yaml
service/mydb created

[root@master-101 ~]#kubectl run mydb --image=mysql:8.0 --restart=Never --port=3306 --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: mydb
name: mydb
spec:
containers:
- image: mysql:8.0
name: mydb
ports:
- containerPort: 3306
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Never
status: {}
[root@master-101 ~]#kubectl run mydb --image=mysql:8.0 --restart=Never --port=3306 --dry-run=client -o yaml > mydb.yaml

[root@master-101 ~]#vim mydb.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: mydb
name: mydb
spec:
containers:
- image: mysql:8.0
name: mydb
env:
- name: MYSQL_RANDOM_ROOT_PASSWORD
value: "1"
- name: MYSQL_DATABASE
value: "wpdb"
- name: MYSQL_USER
value: "wordpress"
- name: MYSQL_PASSWORD
value: "123456 #注意:数字要用引号引起来转成字符串

[root@master-101 ~]#kubectl apply -f mydb.yaml
pod/mydb created
2、传递环境变量创建wordpress
[root@master-101 ~]#kubectl create service nodeport wordpress --tcp=80:80 --dry-run=client -o yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: wordpress
name: wordpress
spec:
ports:
- name: 80-80
port: 80
protocol: TCP
targetPort: 80
selector:
app: wordpress
type: NodePort
status:
loadBalancer: {}
[root@master-101 ~]#kubectl create service nodeport wordpress --tcp=80:80 --dry-run=client -o yaml > service-wordpress.yaml

[root@master-101 ~]#vim service-wordpress.yaml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: wordpress
name: wordpress
spec:
ports:
- name: 80-80
port: 80
protocol: TCP
targetPort: 80
selector:
app: wordpress
type: NodePort
status:
loadBalancer: {}

[root@master-101 ~]#kubectl apply -f service-wordpress.yaml
service/wordpress created

[root@master-101 ~]#kubectl run wordpress --image=wordpress:6.1-apache --restart=Never --port=80 --dry-run=client -o yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: wordpress
name: wordpress
spec:
containers:
- image: wordpress:6.1-apache
name: wordpress
ports:
- containerPort: 80
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Never
status: {}
[root@master-101 ~]#kubectl run wordpress --image=wordpress:6.1-apache --restart=Never --port=80 --dry-run=client -o yaml > wordpress.yaml

[root@master-101 ~]#vim wordpress.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
app: wordpress
name: wordpress
namespace: demo
spec:
containers:
- image: wordpress:6.1-apache
env:
- name: WORDPRESS_DB_HOST
value: wordpress
- name: WORDPRESS_DB_NAME
value: wordpress
- name: WORDPRESS_DB_USER
value: wordpress
- name: WORDPRESS_DB_PASSWORD
value: "123456" #注意:变量数字需加上引号变为字符串
name: wordpress
ports:
- containerPort: 80
dnsPolicy: ClusterFirst
restartPolicy: Never

[root@master-101 ~]#kubectl apply -f wordpress.yaml
pod/wordpress created
3、为mysql添加探针
#为mysql添加探针:
[root@k8s-master01 ~]#vim mydb-liveness.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: mydb
name: mydb
spec:
containers:
- image: mysql:8.0
name: mydb
env:
# - name: MYSQL_RANDOM_ROOT_PASSWORD
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- name: MYSQL_DATABASE
value: "wpdb"
- name: MYSQL_USER
value: "wordpress"
- name: MYSQL_PASSWORD
value: "123456"
ports:
- name: mysqlport
containerPort: 3306
startupProbe:
exec:
command: ['/bin/sh', '-c', '[ "$(mysqladmin -uwordpress -p123456 ping)" == "mysqld is alive" ]']
initialDelaySeconds: 30
timeoutSeconds: 1
periodSeconds: 5
livenessProbe:
tcpSocket:
port: mysqlport
periodSeconds: 5
initialDelaySeconds: 5
readinessProbe:
tcpSocket:
port: mysqlport
initialDelaySeconds: 15
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 3


[root@k8s-master01 ~]#kubectl describe pod mydb
......
Restart Count: 1
Liveness: tcp-socket :mysqlport delay=5s timeout=1s period=5s #success=1 #failure=3
Readiness: tcp-socket :mysqlport delay=15s timeout=2s period=5s #success=1 #failure=3
Startup: exec [/bin/sh -c [ "$(mysqladmin -uwordpress -p123456 ping)" == "mysqld is alive" ]] delay=30s timeout=1s period=5s #success=1 #failure=3
......
4、为wordpress添加探针
[root@k8s-master01 ~]#vim wordpress-liveness.yaml 
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
app: wordpress
name: wordpress
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/gtsre/wordpress:6.0.2
name: wordpress
env:
- name: WORDPRESS_DB_HOST
value: "mydb"
- name: WORDPRESS_DB_NAME
value: "wpdb"
- name: WORDPRESS_DB_USER
value: "wordpress"
- name: WORDPRESS_DB_PASSWORD
value: "123456"
ports:
- name: http
containerPort: 80
startupProbe:
tcpSocket:
port: http
initialDelaySeconds: 30
failureThreshold: 3
periodSeconds: 3
livenessProbe:
httpGet:
host: 127.0.0.1
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 40
periodSeconds: 3
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
readinessProbe:
httpGet:
host: 127.0.0.1
path: /
port: http
scheme: HTTP
initialDelaySeconds: 40
periodSeconds: 3
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Never
status: {}

[root@k8s-master01 ~]#kubectl describe pod wordpress
......
Ready: True
Restart Count: 0
Liveness: http-get http://127.0.0.1:80/ delay=40s timeout=5s period=3s #success=1 #failure=3
Readiness: http-get http://127.0.0.1:http/ delay=40s timeout=5s period=3s #success=1 #failure=3
Startup: tcp-socket :http delay=30s timeout=1s period=3s #success=1 #failure=3
......
5、资源限制
[root@k8s-master01 ~]#vim mydb-resource.yaml 
apiVersion: v1
kind: Pod
metadata:
labels:
app: mydb
name: mydb
spec:
containers:
- image: mysql:8.0
name: mydb
resources:
requests: #最低要求(下限)
memory: "512Mi"
cpu: "1"
limits: #最高限制(上限)
memory: "512Mi"
cpu: "1"
env:
# - name: MYSQL_RANDOM_ROOT_PASSWORD
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- name: MYSQL_DATABASE
value: "wpdb"
- name: MYSQL_USER
value: "wordpress"
- name: MYSQL_PASSWORD
value: "123456"
ports:
- name: mysqlport
containerPort: 3306
startupProbe:
exec:
command: ['/bin/sh', '-c', '[ "$(mysqladmin -uwordpress -p123456 ping)" == "mysqld is alive" ]']
initialDelaySeconds: 30
timeoutSeconds: 1
periodSeconds: 5
livenessProbe:
tcpSocket:
port: mysqlport
periodSeconds: 5
initialDelaySeconds: 5
readinessProbe:
tcpSocket:
port: mysqlport
initialDelaySeconds: 15
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 3
[root@k8s-master01 ~]#vim wordpress-resource.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
app: wordpress
name: wordpress
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/gtsre/wordpress:6.0.2
name: wordpress
resources:
requests: #下限
memory: "512Mi"
cpu: "1"
limits: #上限
memory: "512Mi"
cpu: "1"
env:
- name: WORDPRESS_DB_HOST
value: "mydb"
- name: WORDPRESS_DB_NAME
value: "wpdb"
- name: WORDPRESS_DB_USER
value: "wordpress"
- name: WORDPRESS_DB_PASSWORD
value: "123456"
ports:
- name: http
containerPort: 80
startupProbe:
tcpSocket:
port: http
initialDelaySeconds: 30
failureThreshold: 3
periodSeconds: 3
livenessProbe:
httpGet:
host: 127.0.0.1
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 40
periodSeconds: 3
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
readinessProbe:
httpGet:
host: 127.0.0.1
path: /
port: http
scheme: HTTP
initialDelaySeconds: 40
periodSeconds: 3
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Never
status: {}


标签:name,Kubernetes,--,root,value,wordpress,应用,mydb
From: https://blog.51cto.com/dayu/5845224

相关文章

  • GPT 写稿机器——深度学习应用
    具体app连接如下:WriteWithTransformer(huggingface.co)例子1:用户给定的输入:Iamyikangzhao, Iamyikangzhao,astudentinyourinstitute,whoisstudying......
  • 安科瑞电力监控解决方案在民航机场项目上的应用
    安科瑞陈盼1、概述  电力监控系统实现对变压器、柴油发电机、断路器以及其它重要设备进行监视、测量、记录、报警等功能,并与保护设备和远方控制中心及其他设备通信,实时掌......
  • 安科瑞远程预付费系统解决方案在民航机场上的应用
    安科瑞陈盼1、概述  预付费水电云平台管理系统,无需IC卡,可以实现云端远程集中抄表、实时监控、远程充值和远程控制,再通过预警信息和短信通知,物管部门即可完成整个抄水电表......
  • RocketMQ 在物流行业的应用与运维
    本文作者:丁威-中通快递资深架构师,《RocketMQ技术内幕》作者,ApacheRocketMQ社区首席布道师,公众号「中间件兴趣圈」维护者。01物流行业的业务特点物流行业有三大业务......
  • 【快应用】$set数据方法使用案例
    问题背景:快应用中使用$set数据方法来动态设置数据,数据设置不生效,页面显示的是undefined而不是设置的数据,该如何解决?相关代码:<template><!--Onlyonerootnodeisallow......
  • 【快应用】监听页面触顶及数据刷新案例
    问题背景:快应用页面滑动时,滑动到页面某个地方时,想回到页面的最顶端去刷新页面数据,我们该如何实现?解决方法:我们可以通过快应用提供的页面方法this.$page.scrollTo去滑动到指......
  • 【快应用】监听页面触顶及数据刷新案例
    问题背景:快应用页面滑动时,滑动到页面某个地方时,想回到页面的最顶端去刷新页面数据,我们该如何实现? 解决方法:我们可以通过快应用提供的页面方法this.$page.scrollTo去滑......
  • 实验7:基于REST API的SDN北向应用实践
    实验7:基于RESTAPI的SDN北向应用实践一、实验目的1.能够编写程序调用OpenDaylightRESTAPI实现特定网络功能;2.能够编写程序调用RyuRESTAPI实现特定网络功能。二、实......
  • 开发好的系统如何上架到小米应用商店
    最近开发了很多的系统,有个客户需要把系统上架到小米应用商店。经过摸索已经成功上传。这篇文章主要分享下经验,帮助大家少走弯路。小米应用商店是国内主流的应用商店之一,可以......
  • Hive函数重要应用案例(窗口函数、拉链表)
    五、窗口函数应用实例5.1连续登陆用户需求当前有一份用户登录数据如下图所示,数据中有两个字段,分别是userId和loginTime。userId表示唯一的用户ID,唯一标识一个用户,log......