【7年工作-Java技术栈整理】——容器化编排技术K8S——单机版K8S最简安装 【练手k8s必备】(1)
知道该从何学起的朋友,同时减轻大家的负担。**[外链图片转存中…(img-8qAfHygL-1715136526775)][外链图片转存中…(img-25ZqZ2XK-1715136526776)][外链图片转存中…(img-hcIIWdbN-1715136526776)]
通过python-rhsm-certificates的rpm包获得证书:
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
安装完成后,执行一下docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
5、配置docker阿里云镜像加速
这个镜像仓库是我个人在阿里云申请的:
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://ckq4qobq.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl deamon-reload
systemctl restart docker
6、启动所有服务
systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
三、搭建服务
从github上下载需要的yaml文件:
需要用到的是 java_web_app 文件夹内内容
下载地址:https://github.com/bestlope/k8s_practice
或者:git clone https://github.com/bestlope/k8s_practice.git
1、搭建mysql服务
cd k8s_practice/java_web_app/mysql
#启动mysql的RC服务
kubectl create -f mysql-rc.yaml
#查看刚刚创建的RC
kubectl get rc
#查看pod创建的情况
kubectl get pods
#启动mysql的SVC服务
kubectl create -f mysql-svc.yml
#查看刚刚创建的service
kubectl get svc
2、启动tomcat应用
cd k8s_practice/java_web_app/tomcat
#创建tomcat的RC服务
kubectl create -f myweb-rc.yaml
#创建tomcat的SVC服务
kubectl create -f myweb-svc.yaml
3、通过浏览器访问网页
访问:http://192.168.146.132:30001/
成功看到跳转到Tomcat页面,即成功单机版 K8S 搭建。
2. 部署一个spring-boot项目
=====================
开发一个spring boot 项目 基于JPA操作MySQL的CRUD.
项目目录结构如下:
核心配置文件:
Dockerfile:
FROM openjdk:8-jdk-alpine
#将本地文件挂到到/tmp目录
VOLUME /tmp
#复制文件到容器
ADD spring-boot-docker-1.0.jar /app.jar
#暴露8080端口
EXPOSE 8081
#配置启动容器后执行的命令
ENTRYPOINT [“java”,“-jar”,“/app.jar”]
k8s-app-mysql.yaml
apiVersion: v1
kind: Service
metadata:
name: k8s-app
namespace: default
labels:
app: k8s-app
spec:
type: NodePort
ports:
- port: 8081
nodePort: 30002
selector:
app: k8s-app
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: k8s-app
labels:
app: k8s-app
spec:
replicas: 1
selector:
matchLabels:
app: k8s-app
template:
metadata:
labels:
app: k8s-app
spec:
containers:
- name: k8s-app
image: k8s-mysql:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8081
livenessProbe:
httpGet:
port: 8081
path: /
scheme: HTTP
periodSeconds: 15
initialDelaySeconds: 30
pom.xml : 配置项目依赖与Docker插件
<?xml version="1.0" encoding="UTF-8"?><project xmlns=“http://maven.apache.org/POM/4.0.0” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
4.0.0
com.neo
spring-boot-docker
1.0
jar
spring-boot-docker
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.0.0.RELEASE
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<docker.image.prefix>springboot</docker.image.prefix>
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-data-jpa
## 最后自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-8qAfHygL-1715136526775)]
[外链图片转存中…(img-25ZqZ2XK-1715136526776)]
[外链图片转存中…(img-hcIIWdbN-1715136526776)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
更多推荐
所有评论(0)