点击上方“IT那活儿”,关注后了解更多精彩内容!!!
— k8s部署应用包步骤 —
部署主要步骤
新建镜像,将应用包打入镜像内。
将镜像上传至远程仓库。
新建pod,并引用远程仓库中的镜像并运行pod。
step1. 新建dockerfile,在dockerfile中将应用包添加进来(此处以start.sh为例)。
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e916527c-8d38-11ec-a456-38f9d3cd240d.png)
FROM IP/test/mydocker:123456789RUN rm -rf /home/*RUN mkdir -p /home/ADD start.sh /home/test/start.shRUN sed -i 's/*/#*/g' /var/spool/cron/tabs/rootRUN rm /var/spool/cron/tabs/configagentENV PATH=.:$ORACLE_HOME/bin:/usr/jre1.8.0_191/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binENV SHLIB_PATH=$ORACLE_HOME/libENV LD_LIBRARY_PATH=$ORACLE_HOME/libENTRYPOINT ["/bin/sh","/home/test/start.sh"]
step2. 将dockerfile转化为镜像,并上传到远程仓库。
docker build -t test:123456789docker tag 1736b9847575 IP/test/test:123456789docker push IP/test/test:123456789
step3. 新建yaml,在yaml文件中引用远程仓库中的镜像。
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e91ea5e4-8d38-11ec-a456-38f9d3cd240d.png)
apiVersion: apps/v1kind: Deploymentmetadata:name: testnamespace: testspec:selector:matchLabels:app: testreplicas: 1template:metadata:labels:app: atestspec:containers:- name: testimage: IP/test/test:123456789volumeMounts:- name: host-timemountPath: /etc/localtimeenv:resources:limits:cpu: "1"memory: 2000Mirequests:cpu: 500mmemory: 1000Mi
step4. 运行yaml文件,新建pod承载应用包。
— 以下为k8s基本介绍 —
1. K8s的组件介绍
组件一:Master组件
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e9283fa0-8d38-11ec-a456-38f9d3cd240d.png)
(1)kube-apiserver
(2)kube-controller-manager --控制器
(3)kube-scheduler --调度器
(4)etcd
组件二:Node组件
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e930b64e-8d38-11ec-a456-38f9d3cd240d.png)
(1)kubelet
(2)kube-proxy
2. K8s命令介绍
(1)查看资源
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e93d3324-8d38-11ec-a456-38f9d3cd240d.png)
(2)创建资源
(3)编辑资源
kubectl edit configmapkubectl edit deploy
(4)删除资源
kubectl delete pod pod-name Kubectl delete -f ./my-manifest.yaml kubectl logs my-pod # 输出 pod 的日志(stdout) kubectl exec my-pod -- ls / # 在已存在的容器中执行命令(只有一个容器的情况下) kubectl exec my-pod -c my-container -- ls / # 在已存在的容器中执行命令(pod 中有多个容器的情况下) kubectl top pod POD_NAME --containers # 显示指定 pod 和容器的指标度量 kubectl top node my-node # 显示 my-node 的指标度量 kubectl cordon my-node # 标记 my-node 不可调度 kubectl drain my-node # 清空 my-node 以待维护 kubectl uncordon my-node # 标记 my-node 可调度 kubectl cluster-info # 显示 master 和服务的地址 kubectl taint nodes foo dedicated=special-user:NoSchedule kubectl logs my-pod # 输出 pod 的日志(stdout) kubectl exec my-pod -- ls / # 在已存在的容器中执行命令(只有一个容器的情况下) kubectl exec my-pod -c my-container -- ls / # 在已存在的容器中执行命令(pod 中有多个容器的情况下) kubectl top pod POD_NAME --containers # 显示指定 pod 和容器的指标度量 kubectl top node my-node # 显示 my-node 的指标度量 kubectl cordon my-node # 标记 my-node 不可调度 kubectl drain my-node # 清空 my-node 以待维护 kubectl uncordon my-node # 标记 my-node 可调度 kubectl cluster-info # 显示 master 和服务的地址 kubectl taint nodes foo dedicated=special-user:NoSchedule
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e947eb52-8d38-11ec-a456-38f9d3cd240d.png)
本文作者:李伟业
本文来源:IT那活儿(上海新炬王翦团队)
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e9ae30e2-8d38-11ec-a456-38f9d3cd240d.png)
分享
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e9b66514-8d38-11ec-a456-38f9d3cd240d.png)
收藏
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e9c15406-8d38-11ec-a456-38f9d3cd240d.png)
点赞
![](https://oss-emcsprod-public.modb.pro/wechatSpider/modb_20220214_e9c90098-8d38-11ec-a456-38f9d3cd240d.png)
在看
文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。