k8s部署dashboard.及反向代理services(十一)
k8s部署dashboard.及反向代理services(十一)
k8s部署dashboard.及反向代理services(十一)k8s部署dashboard
dashboard就是k8s的图形管理工具,可以查看node、pod、namespace等各种资源
[[email protected] dashboard]# docker load -i kubernetes-dashboard-amd64_v1.4.1.tar.gz [[email protected] dashboard]# docker tag index.tenxcloud.com/google_containers/kubernetes-dashboard-amd64:v1.4.1 192.168.81.240/k8s/kubernetes-dashboard-amd64:v1.4.1 [[email protected] dashboard]# docker push 192.168.81.240/k8s/kubernetes-dashboard-amd64:v1.4.1 The push refers to a repository [192.168.81.240/k8s/kubernetes-dashboard-amd64] 5f70bf18a086: Mounted from k8s/tomcat-app 2e350fa8cbdf: Pushed v1.4.1: digest: sha256:e446d645ff6e6b3147205c58258c2fb431105dc46998e4d742957623bf028014 size: 1147
[[email protected]-master ~]# mkdir /k8s/dashboard [[email protected]8s-master dashboard]# vim dashboard.yaml apiVersion: extensions/v1beta1 #api版本 kind: Deployment #资源类型 metadata: name: kubernetes-dashboard-latest-deploy #资源名称 namespace: kube-system #名称空间,不同业务对应不同的命名空间 spec: replicas: 1 #pod数量 template: metadata: labels: k8s-app: kubernetes-dashboard #标签 version: latest #版本 kubernetes.io/cluster-service: "true" spec: containers: - name: kubernetes-dashboard #容器名称 image: 192.168.81.240/k8s/kubernetes-dashboard-amd64:v1.4.1 #镜像地址 resources: limits: cpu: 100m #CPU最大限制 memory: 50Mi #内存最大限制 requests: cpu: 100m #CPU最小限制 memory: 50Mi #内存最小限制 ports: - containerPort: 9090 #容器端口 args: - --apiserver-host=http://192.168.81.210:8080 #与api进行关联 livenessProbe: #资源检测 httpGet: path: / #首页 port: 9090 #端口 initialDelaySeconds: 30 timeoutSeconds: 30
[[email protected]-master dashboard]# vim dashboard_svc.yaml apiVersion: v1 #api版本 kind: Service #资源类型 metadata: name: kubernetes-dashboard-svc #资源名称 namespace: kube-system #名称空间 labels: k8s-app: kubernetes-dashboard #与deployment关联的标签 kubernetes.io/cluster-service: "true" spec: selector: k8s-app: kubernetes-dashboard #标签关联 ports: - port: 80 #虚拟ip端口 targetPort: 9090 #pod端口
由于yaml文件中定义了名称空间,因此这里要指定名称空间才能查看对应的资源
真实企业环境也是不同资源对应不同的名称空间
1)创建deployment资源 [[email protected] dashboard]# kubectl create -f dashboard.yaml deployment "kubernetes-dashboard-latest-deploy" created 2)创建svc资源 [[email protected] dashboard]# kubectl create -f dashboard_svc.yaml service "kubernetes-dashboard" created 3)查看资源状态 [[email protected] dashboard]# kubectl get all --namespace=kube-system -o wide NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE deploy/kubernetes-dashboard-latest-deploy 1 1 1 1 19s NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR svc/kubernetes-dashboard 10.254.72.0 <none> 80/TCP 14s k8s-app=kubernetes-dashboard NAME DESIRED CURRENT READY AGE CONTAINER(S) IMAGE(S) SELECTOR rs/kubernetes-dashboard-latest-deploy-3050469117 1 1 1 19s kubernetes-dashboard 192.168.81.240/k8s/kubernetes-dashboard-amd64:v1.4.1 k8s-app=kubernetes-dashboard,kubernetes.io/cluster-service=true,pod-template-hash=3050469117,version=latest NAME READY STATUS RESTARTS AGE IP NODE po/kubernetes-dashboard-latest-deploy-3050469117-5mknc 1/1 Running 0 19s 172.16.54.2 192.168.81.230 kubectl get pod --namespace=kube-system -o wide kubectl get svc --namespace=kube-system -o wide kubectl get deployment --namespace=kube-system -o wide
浏览器输入http://192.168.81.210:8080/ui
创建资源
workloads—deployment—create
默认创建为rc
反向代理service就是用master地址去访问pod
不配置nodeport默认是clusterip类型,不配置nodeport就可以用matser地址加上名称空间资源名即可访问到站点内容,即使配置了nodeport也可以使用以上方式来访问
http://master地址:端口/api/v1/proxy/namespaces/命名空间/名称/资源类型/资源名
7.1.准备反向代理目录
[[email protected] fxdl]# mkdir /k8s/fxdl
7.2.准备deployment资源yaml文件
[[email protected]-master fxdl]# vim proxy_deploy.yaml apiVersion: extensions/v1beta1 #api版本 kind: Deployment #资源类型 metadata: name: nginx-proxy #资源名称 spec: replicas: 3 #启动的pod数量 template: metadata: labels: app: nginx-proxy #标签 spec: containers: - name: nginx #容器名 image: 192.168.81.240/k8s/nginx:1.13 #镜像地址 ports: - containerPort: 80 #端口
7.3.准备svc资源yaml文件
[[email protected]-master fxdl]# vim proxy_svc.yaml apiVersion: v1 #api版本 kind: Service #资源类型 metadata: name: nginx-proxy-svc #资源名称 spec: selector: app: nginx-proxy #标签,与deployment的标签进行关联 ports: - port: 888 #虚拟ip,clusterip的端口,可以自己定义 targetPort: 80 #pod端口,应用的端口,nginx容器默认是80
7.4.创建资源
[[email protected] fxdl]# kubectl create -f proxy_deploy.yaml deployment "nginx-proxy" created [[email protected] fxdl]# kubectl create -f proxy_svc.yaml service "nginx-proxy-svc" created
7.5.查看资源状态
[[email protected] fxdl]# kubectl get all -o wide
deployment管理rs,rs管理pod,hpa管理deployment
7.6.用master访问资源
浏览器访问:http://192.168.81.210:8080/api/v1/proxy/namespaces/default/services/nginx-proxy-svc/ http://192.168.81.210:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard dashboard用的namespace是kube-system
链接目录 | 含义 |
---|---|
http://192.168.81.210:8080 | k8s maste api地址 |
/api | api服务 |
/v1 | api的版本 |
/proxy | 表示代理的意思 |
/namespaces | 使用的namespace是什么 |
/default | 使用的namespace是默认的default |
/services | 资源类型是service |
/nginx-proxy-svc | svc资源的名称 |
k8s部署dashboard.及反向代理services(十一)相关教程
-
SpringBoot2.0整合热部署Devtools工具
SpringBoot2.0整合热部署Devtools工具 热部署原理分析: 使用类加载器(classloader重新读取字节码文件到jvm内存)如何纯手写一个热部署功能: 1.监听class文件是否有发生改变–版本号或者修改时间 2.如果class文件发生改变的,就是用classloader进行重新读
-
k8s集成Jenkins实现项目自动上线
k8s集成Jenkins实现项目自动上线 k8s对接Jenkins 1.开发还是一样的写java代码,写好java代码后提交到gitlab仓库中,Jenkins在通过gitlab去拉取这些代码,开发只需要在Jenkins页面上点一下立即构建,就会调用shell命令将代码通过docker build 来构建镜像。2.do
-
k8s使用glusterfs做持久化存储(十三)
k8s使用glusterfs做持久化存储(十三) k8s使用glusterfs存储 [[emailprotected] ~]# kubectl explain pv.spec语法格式kubectl explain 资源.命令.命令 1)编写yaml文件[[emailprotected] ~]# mkdir /k8s/glusterfs[[emailprotected] ~]# cd /k8s/glusterfs[[e
-
Solr部署教程
Solr部署教程 前提环境: jdk1.8 下载:https://archive.apache.org/dist/lucene/solr/5.2.1/ 解压缩,重命名 tar -zxvf solr-5.2.1.tar.gz mv solr-5.2.1 solr 修改配置文件: vi solr.in.sh----------ZK_HOST=ha1:2181,ha2:2181,ha3:2181,ha4:2181SOLR_HOST=h
-
jenkins 自动化部署(后台)
jenkins 自动化部署(后台) 包的话需要自己到官网下载https://www.jenkins.io/download/ 安装jenkins rpm -ivh jenkins-2.190.3-1.1.noarch.rpm 修改Jenkins配置 vim /etc/sysconfig/jenkins 修改内容如下: JENKINS_USER=root JENKINS_PORT=10008 启动Jenki
-
idea热部署插件JRebel安装部署并激活,告别spring devtools
idea热部署插件JRebel安装部署并激活,告别spring devtools 打开idea的File-settings-plugins-marketplace-搜索JRebel 点击Install安装,我已经安装了,所以显示的是Installed. 安装完成之后重启idea,一般idea插件安装完之后这个位置有个restart重启按钮 重启
-
Atlas安装部署
Atlas安装部署 环境要求: JDK8+Hadoop2+Maven3+Zookeeper3+Hbase2+Solr5 这些组件都要安装。 下载:http://atlas.apache.org/#/Downloads 不要下载最新版的,否则编译会出问题,下载稳定版的。 编译 上传,解压,编译。 tar -zxvf apache-atlas-2.0.0-source
-
k8s1.18三节点集群部署+docker容器安装
k8s1.18三节点集群部署+docker容器安装 k8s1.18三节点+docker容器安装 建三台虚拟机,三台虚拟机的信息如下: 注:建议IP地址是自己配的静态地址,因为动态的话改变网络地址就会改变,要重新配置(静态ip配置可参考https://blog.csdn.net/weixin_44764814/art