k8s简单部署案例

会飞的鹅 会飞的鹅     2022-11-29     469

关键词:

部署MYSQL

准备yaml文件

位置:/etc/kubernetes/manifests

mysql-rc.yaml

apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: mysql:5.7.29
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"

mysql-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  type: NodePort
  ports:
    - port: 3307
      nodePort: 32307
      targetPort: 3306
  selector:
    app: mysql

在master上执行

kubectl create -f mysql-rc.yaml

kubectl create -f mysql-svc.yaml

进入到容器中

  • 方式一:使用docker命令:

查看pod运行在哪台节点

kubecte get pods -o wide

image.png

查看mysql的镜像名

docker ps -a

image.png

docker命令进入

docker exec -it a5d12fedbc19 /bin/bash

  • 方式二:使用kubectl进入

进入master节点

kubectl run -it --rm --image=mysql:5.7 --restart=Never  -- mysql -p123456

 

部署nginx

无状态部署

  • 生成yaml配置文件

kubectl create deployment web --image=nginx -o yaml --dry-run >> nginx.yaml

  • 使用yaml文件进行部署

kubectl apply -f nginx.yaml

  • 查看创建的pod

kubectl get pods

image.png

  • 对外暴露访问端口
    • 生成yaml配置文件

kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml >> nginx-web1.yaml

image.png

    • 使用yaml文件进行部署

kubectl apply -f nginx-web1.yaml

访问任意一个node节点验证

http://192.168.119.12:31132/

使用StatefulSet部署有状态应用

  • 准备配置文件
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx-statefulset
  namespace: default
spec:
  serviceName: nginx
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80
  • 使用yaml文件进行部署

kubectl apply -f sts.yaml

  • 查看创建的pod

三个副本

image.png

进入其中一个容器查看默认生成的域名

image.png

 

kubernetes(k8s)应用案例

...排和管理平台。K8S提供了一个基础架构,使得服务管理和部署变得更加容易。下面是该公司使用K8S解决平台问题的案例:部署服务该公司将所有服务转换为Docker容器,并使用K8S进行部署。K8S使用Pods作为最小部署单元,它可以管... 查看详情

实践案例|用kube-ovn实现跨k8s的统一网络平面部署tidb

...会上,来自PingCAP的成臣,根据日本用户“跨K8s网络平面部署TiDB”的需求,所做的方案调研,带来“用Kube-OVN创建一个跨K8 查看详情

10-k8s简单环境的环境部署(代码片段)

k8s简单环境的环境部署,需要用到4台机器:master01 192.168.66.10node01 192.168.66.20node02 192.168.66.21harbor 192.168.66.100 #前一个文章已经介绍过如何安装harbor了。 一、系统初始化1.设置系统主机名以及Host文件的相互解析hostnamectlset... 查看详情

部署k8s集群+ceph存储出现依赖性缺失的故障案例(最小化系统arm架构)(代码片段)

环境:最小化安装的系统(以redhat系为例)报障案例1故障:k8s集群拉起来了,ceph也起来了,但是在安装docker镜像仓库的时候,发现仓库一直处于pending的状态,重启也无法解决问题。```html/xml排障过程:首先是通过Kubectldescribepod-... 查看详情

谷粒商城k8s部署中间件(二十八)

...的是有状态服务,然后删掉服务,在指定NodePort。下面就简单贴出来几个图,其中里面的命令脚本,我之前的博客也简单记录了一下,可以往前翻翻。做的时候也很顺利,有问题的话可以探讨一下访问mysql的DNS mysql的 查看详情

ansible自动化部署k8s集群

...主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。具备以下三个特点:简单:减少学习成本强大:协调应用程序生命周期无 查看详情

一个简单的连续调用脚本部署代码的案例(代码片段)

先简单描述一下环境,Jenkins部署在私有云,从git拉取代码并编译后会调用脚本将jar包部署到阿里云的应用服务器。阿里云应用服务器无公网IP,通过跳板机登录。就产生了连续调用脚本,穿透跳板机部署到阿里云内网的需求。服... 查看详情

k8s部署springboot项目

...k8s的部署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk 查看详情

用kubeadm部署生产级k8s集群(代码片段)

...台etcd各?独?,分别部署在3台master上,互不通信,优点是简单,缺点是缺乏etcd?可?性需要?少4台机器(3master和etcd,1node)Externaletcdtopology即采?集群外etcd拓扑结构,这样的冗余性更好,但需要?少7台机器(3master,3etcd,1node)?产环境建议采... 查看详情

jupyterhubonkubernetes部署

...到需要的朋友。DockerDesktop是使用Mac学习Docker,Kubernetes最简单和快捷的工具,可以很方便的为你搭建一个k8s环境,所以我们的第一步也是安装DockerDesktop,并配置k8s。DockerDestop本身安装很简单,但遗憾的是k8s所需的镜像由于墙的原... 查看详情

k8s的基础概念

...务发现等-一系列功能。Kubernetes目标是让部署容器化应用简单高效。作用:用于自动部署、扩展和管理“容器化(containerized)应用程序"的开源系统。可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是一个生... 查看详情

k8s部署springboot项目(代码片段)

...k8s的部署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk 查看详情

k8s部署springboot项目

...经结束本篇主要讲解了k8s如何部署springboot项目,过程很简单,目前只是半手动部署,后面引入CICD实现真正的自动化部署。欢迎大家访问个人博客:https://www.askajohnny.com 查看详情

记一次失败的k8s安装部署

...署包。https://github.com/fanux/sealos。安装最新版的K8S免费且简单。想安装其他版本的话,就收费了。离线安装包50一位。想着自己只是测试,然后客户那边是v1.17。我装个v1.18的应该没啥问题,于是就直接开搞。安装无比顺利,两台... 查看详情

k8s环境快速部署kafka(k8s外部可访问)(代码片段)

...都有需求,若提前准备了StorageClass,存储一事则变得十分简单环境信息本次实战的操作系统和软件的版本信息如下:Kubernetes:1.15Kubernetes宿主机:CentOSLinuxrelease7.7.1908NFS服务:IP地址192.168.50.135,文件 查看详情

k8s部署springboot项目(一篇够用)(代码片段)

...,今天这篇文章主要介绍如何从0开始搭建一套基于K8s部署的SpringBoot案例教程。基础环境准备 查看详情

k8s摘要(代码片段)

...上的容器化应用。Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署、规划 查看详情

自动化运维工具---saltstack安装部署及简单案例(代码片段)

SaltStack原理SaltStack由Master(服务端)和Minion(客户端)组成,Master和Minion之间通过ZeroMQ(消息队列)进行通讯,Master和Minion分别监听4505与4506端口,4505为master与minion认证通信端口,4506为master用来发送或者接受minion的命令执行返回信息。... 查看详情