1. 概述

老话说的好:努力学习,努力提高,做一个有真才实学的人。

言归正传,之前我们聊了 如何使用国内的镜像源搭建 kubernetes(k8s)集群 ,今天我们来聊聊如何在 kubernetes(k8s)上部署容器。

官网教程:https://kubernetes.io/docs/home/

2. 部署 Pod

2.1 概述

Pod 是 kubernetes(k8s)的最小单元,一个 Pod 中可部署多个容器,这里我们以部署 Nginx 为例,先介绍一下 kubernetes(k8s)的编排脚本。

2.2 Pod 脚本例子

新建一个脚本,名为 my-pod.yml

# vi my-pod.yml

apiVersion: v1
kind: Pod
metadata:
name: my-nginx
spec:
containers:
- name: my-nginx
image: nginx

apiVersion:脚本的版本,Pod 通常使用 v1 这个版本

kind:脚本的类型,这里就是 Pod

metadata.name:Pod 的名称

spec.containers:Pod 中运行的容器,可以是多个

注意:下级相对上级缩进两个空格,而不是Tab。

2.3 执行脚本

# kubectl apply -f my-pod.yml

2.4 查看 pod 信息

# kubectl get pod -o wide

ContainerCreating 状态代表 pod 正在添加

Running 状态代表 pod 已经运行

2.5 查看 pod 详细信息
# kubectl describe pod my-nginx

2.6 删除 pod

# kubectl delete pod my-nginx

3. 部署 Deployment

3.1 概述

在 kubernetes(k8s)中, 使用 Pod 脚本部署 pod,只能单节点部署,无法高可用。

因此需要用到 Deployment ,Deployment 可以指定 Pod 的副本数,通常情况是使用 Deployment  部署。

3.2 Deployment 脚本例子

新建一个脚本,名为 my-deployment.yml

# vi my-deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx-deployment
template:
metadata:
labels:
app: nginx-deployment
spec:
containers:
- name: my-nginx
image: nginx

spec.replicas:部署 Pod 的副本数

sepc.template.metadata.labels.app:deployment 标签名称。

3.3 执行脚本

# kubectl apply -f my-deployment.yml

3.4 查看 deployment 信息

# kubectl get deployment

# kubectl get pod -o wide

3.5 查看 deployment 详细信息

# kubectl describe deployment nginx-deployment

3.6 删除 deployment

# kubectl delete deployment nginx-deployment

4. 部署 Service

4.1 概述

上一步我们使用 deployment 部署了多个 Pod 实例,但我们无法访问到 Pod 中的 Nginx。

此时就要借助 Service。

4.2 Service 脚本例子

新建一个脚本,名为 my-service.yml

# vi my-service.yml

apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort
selector:
app: nginx-deployment
ports:
- protocol: TCP
nodePort: 30000
port: 20000
targetPort: 80

spec.type:Service 的类型,NodePort 是端口映射的方式,就是把容器的端口映射到宿主机的端口。

spec.selector.app:作用于哪个 deployment 标签。

spec.ports:是端口映射设置,targetPort 是容器中服务真实的端口,Nginx默认使用 80 端口,port 是Service 对外暴露的端口,用于 K8s 内部访问,nodePort 是映射的宿主机的端口。

4.3 执行脚本

# kubectl apply -f my-service.yml

4.4 查看 Service 信息

# kubectl get service -o wide

4.5 查看 Service 详细信息

# kubectl describe service nginx-service

4.6 删除 Service

# kubectl delete service nginx-service

4.7 访问 Nginx

地址:http://宿主机IP:30000

例如:http://192.168.1.12:30000/

5. 综述

今天聊了一下 kubernetes(k8s)集群上是如何部署容器的,希望可以对大家的工作有所帮助。

欢迎帮忙点赞、评论、转发、加关注 :)

关注追风人聊Java,每天更新Java干货。

6. 个人公众号

追风人聊Java,欢迎大家关注

Kubernetes(K8s)极速入门的更多相关文章

  1. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...

  2. K8S 从入门到放弃系列文章目录(Kubernetes 1.14)

    1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节 ...

  3. Kubernetes --(k8s)入门

    k8s 简介: 什么是k8s? Kubernetes (k8s)是Google开源的容器集群管理系统(谷歌内部:Borg).在Docker技术基础上,为容器化的应用提供部署运行.资源调度.服务发现和动 ...

  4. Knative 初体验:CICD 极速入门

    Knative 社区很早就在讨论用 Tekton 替换 Build 模块的相关事宜.Knative Build 官方已经正式说明不再建议使用 Knative Build 了. 如果你知道 Knativ ...

  5. 菜鸟系列k8s——k8s快速入门(1)

    k8s快速入门 1.快速创建k8s集群 参考网站:https://kubernetes.io/docs/tutorials/kubernetes-basics 点击教程菜单 1. Create a C ...

  6. k8s miniKube 入门

    k8s miniKube 入门 miniKube 是单机版kubernetes, 可以配置运行在同一台主机上的服务和pod,并使用docker作为虚拟化工具 下载:直接下载可执行文件,复制到path ...

  7. k8s(00)入门知识介绍

    系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 k8s概念入门 目录 系列文章说明 k8s概念 ...

  8. [转]Nginx基本功能极速入门

    原文链接:Nginx基本功能极速入门 | 叉叉哥的BLOG 本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理.废话不多,直接开始. 1.静态HTTP服务器 ...

  9. 《Python黑客编程之极速入门》正式开课

    玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和 ...

  10. 1 小时 SQL 极速入门(三)——分析函数

    1 小时 SQL 极速入门 前面两篇我们从 SQL 的最基础语法讲起,到表联结多表查询. 大家可以点击链接查看 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 今天我们讲一些在做报 ...

随机推荐

  1. Windows用cmd编译运行C程序

    在Windows环境下用命令行编译运行程序 浙江大学-C语言程序设计进阶 配置gcc 准备一个Dev-cpp 找到gcc.exe所在目录 Dev-Cpp\MinGW64\bin 地址栏右键将地址复制为 ...

  2. 项目实战:Qt文件改名工具 v1.2.0(支持递归检索,搜索:模糊匹配,前缀匹配,后缀匹配;重命名:模糊替换,前缀追加,后缀追加)

    需求   在整理文件和一些其他头文件的时候,需要对其名称进行整理和修改,此工具很早就应该写了,创业后,非常忙,今天抽空写了一个顺便提供给学习.   工具和源码下载地址   本篇文章的应用包和源码包可在 ...

  3. 【数据结构与算法Python版学习笔记】图——强连通分支

    互联网 我们关注一下互联网相关的非常巨大图: 由主机通过网线(或无线)连接而形成的图: 以及由网页通过超链接连接而形成的图. 网页形成的图 以网页(URI作为id)为顶点,网页内包含的超链接作为边,可 ...

  4. logging模块二

    背景,在学习logging时总是遇到无法理解的问题,总结,尝试一下更清晰明了了,让我们开始吧! logging模块常用format格式说明 %(levelno)s: 打印日志级别的数值 %(level ...

  5. 面试题系列:new String("abc")创建了几个对象

    new String("abc")创建了几个对象 面试官考察点猜想 这种问题,考察你对JVM的理解程度.涉及到常量池.对象内存分配等问题. 涉及背景知识详解 在分析这个问题之前,我 ...

  6. 第四单元博客总结——暨OO课程总结

    第四单元博客总结--暨OO课程总结 第四单元架构设计 第一次UML作业 简单陈述 第一次作业较为简单,只需要实现查询功能,并在查询的同时考虑到性能问题,即我简单的将每一次查询的结果以及递归的上层结果都 ...

  7. HZOI帝国2019欢乐时刻

    前言: update 只是恢复一下原来手残删掉的博客,不是在水,嘤嘤嘤 update 以后改成Stack,但是之前的就懒得改了... by 10.31 为了窝的访问量大家的好心情,模仿学长搞了一个这个 ...

  8. n阶行列式计算

    1.化为上下三角 该类型的矩阵.行列式在之前写过(https://www.cnblogs.com/wangzheming35/p/12906624.html),也建议记住这个行列式的结论. 当然不仅仅 ...

  9. 正则表达式匹配 牛客网 剑指Offer

    正则表达式匹配 牛客网 剑指Offer 题目描述 请实现一个函数用来匹配包括'.'和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(包含0次). 在本题中, ...

  10. cf 11B Jumping Jack(贪心,数学证明一下,,)

    题意: 给一个数X. 起始点为坐标0.第1步跳1格,第2步跳2格,第3步跳3格,.....以此类推. 每次可以向左跳或向右跳. 问最少跳几步可以到坐标X. 思路: 假设X是正数. 最快逼近X的方法是不 ...