一个简单有效的kubernetes部署案例
2024-10-18 03:21:28
部署web-rc:web应用需要去获取redis注入的ip环境变量cluster_ip,以此来访问
[root@sdw1 files]# cat testweb-rc.yaml
kind: ReplicationController
metadata:
name: testweb
spec:
replicas: 1
selector:
app: testweb
template:
metadata:
labels:
app: testweb
spec:
containers:
- name: testweb
image: 10.10.18.19:5000/testweb #仓库镜像,或者其他本地镜像
ports:
- containerPort: 8080
部署web-svc:注意label和selector对应
[root@sdw1 files]# cat testweb-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: testweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 31001
selector:
app: testweb
部署redis-rc.yaml:
[root@sdw1 files]# cat redis-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: redis
spec:
replicas: 1
selector:
app: redis
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis
ports:
- containerPort: 6379
部署redis-svc.yaml
[root@sdw1 files]# cat redis-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: redis
spec:
type: NodePort
selector:
app: redis
clusterIP: 100.100.100.100
ports:
- name: "1"
port: 6379
protocol: TCP
targetPort: 6379
nodePort: 31009
依次执行即可:
kubectl create -f testweb-rc.yaml
kubectl create -f testweb-svc.yaml
kubectl create -f redis-rc.yaml
kubectl create -f redis-svc.yaml
此时查看pod应该都在正常运行了,web也可以访问redis.
使用kubernetes前最好安装dashboard,看东西更方便,安装也很简单,也是创建三个资源:
创建空间:
[root@sdw1 templates]# cat kube-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: kube-system
创建rc:
[root@sdw1 templates]# cat kube-dashboard-rc.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
# Keep the name in sync with image version and
# gce/coreos/kube-manifests/addons/dashboard counterparts
name: kubernetes-dashboard-latest
namespace: kube-system
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
version: latest
kubernetes.io/cluster-service: "true"
spec:
containers:
- name: kubernetes-dashboard
image: docker.io/mritd/kubernetes-dashboard-amd64
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 100m
memory: 50Mi
ports:
- containerPort: 9090
args:
- --apiserver-host=http://master:8080
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
创建svc:
[root@sdw1 templates]# cat kube-dashboard-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
spec:
selector:
k8s-app: kubernetes-dashboard
ports:
- port: 80
targetPort: 9090
依次执行:
kubectl create -f kube-namespace.yaml
kubectl create -f kube-dashboard-rc.yaml
kubectl create -f kube-dashboard-svc.yaml
完
最新文章
- Android 拍照后保证保证图片不失真,进行压缩
- Object-C关于GCD多线程的使用
- java1.8函数式接口
- Angular-Chart.js 初接触;;;
- 基于jPlayer的三分屏制作
- centos 配置本地 yum源
- HTML5服务器推送事件
- Shell Script Tutorials (0 ~ 62)
- mybatis使用时org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):的错误
- if分支的四种形式
- java操作cookies
- [UWP]了解模板化控件(3):实现HeaderedContentControl
- android 获取wifi列表,如果你忽略了这个细节,可能你的软件会崩溃
- [paper reading] C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection CVPR2019
- Oracle使用外部表批量创建用户
- 吴恩达机器学习笔记35-诊断偏差和方差(Diagnosing Bias vs. Variance)
- kindeditor<;=4.1.5 文件上传漏洞利用
- Spark MLlib之水塘抽样算法(Reservoir Sampling)
- Delphi WebBrowser 无法调用当前浏览器的版本 --转
- 关于Fuzz——peach的学习
热门文章
- VB将MSHFlexGrid数据导出到Excel文件通用功能
- Java使用Rabbitmq惊喜队列queue和消息内容的本地持久化核心方法。(内容存储在硬盘)
- WPF 控件事件的一个小坑&hellip;
- Subversion代码提交中的org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed异常解决
- 从头认识java-15.7 Map(5)-介绍HashMap的工作原理-Key变了,能不能get出原来的value?(偶尔作为面试题)
- distill 来自google,openai,deepmind,YC research
- RequestDispatcher.forward和HttpServletResponse.sendRedirect
- [Windows Azure] Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5.
- YGC和FGC发生时间
- 解决opencv和mfc同时使用导致memory leak