Docker Kubernetes 命令行创建Pod

环境:

  • 系统:Centos 7.4 x64
  • Docker版本:18.09.0
  • Kubernetes版本:v1.8
  • 管理节点:192.168.1.79
  • 工作节点:192.168.1.78
  • 工作节点:192.168.1.77

管理节点:创建并运行Nginx镜像

kubectl run nginx --image=nginx --replicas=3
kubectl run:运行容器
nginx:服务名
--image:镜像名称
--replicas:副本数

命令解析

命令:kubectl get pods

NAME                    READY     STATUS    RESTARTS   AGE
nginx-7c87f569d-7wtw6 1/1 Running 1 18h
nginx-7c87f569d-cvhw5 1/1 Running 1 18h
nginx-7c87f569d-jq49n 1/1 Running 1 18h

查看容器启动状态。

1、创建内网访问的service

管理节点:创建service通过deployment资源管理,并暴露一个内网访问地址

kubectl expose deployment nginx --port=88 --target-port=80
kubectl expose deployment 发布服务名 --port=暴露端口 --target-port=容器端口
注:同过kubernetes负载均衡暴露出一个唯一的IP地址。

命令解析

命令:kubectl get service  nginx

NAME      TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
nginx ClusterIP 10.10.10.187 <none> 88/TCP 1m

查看暴露ip地址

工作节点:测试内网访问

curl -I 10.10.10.187:88
HTTP/1.1 200 OK
Server: nginx/1.15.6
Date: Thu, 22 Nov 2018 07:00:44 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 06 Nov 2018 13:32:09 GMT
Connection: keep-alive
ETag: "5be197d9-264"
Accept-Ranges: bytes

2、创建内网访问基础上,创建外网访问暴露端口

管理节点:创建Service通过deployment 并暴露88端口(在88端口负载TCP流量)

kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80
kubectl expose deployment 资源名 --port=暴露内网端口 --type=协议类型 --target-port=容器端口

命令解析

管理节点:查看外网暴露端口

kubectl get service nginx
# 32428为外网暴露随机端口
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
nginx NodePort 10.10.10.134 <none> 88:32428/TCP 4m

外网测试访问

curl -I http://192.168.1.78:32428
HTTP/1.1 200 OK
Server: nginx/1.15.6
Date: Thu, 22 Nov 2018 07:16:30 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 06 Nov 2018 13:32:09 GMT
Connection: keep-alive
ETag: "5be197d9-264"
Accept-Ranges: bytes

Docker Kubernetes 命令行创建容器的更多相关文章

  1. Docker Kubernetes Service 代理服务创建

    Docker Kubernetes  Service 代理服务创建 创建Service需要提前创建好pod容器.再创建Service时需要指定Pod标签,它会提供一个暴露端口默会分配容器内网访问的唯一 ...

  2. Qt_Window@Qt Command Prompt从命令行创建工程

    #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplicatio ...

  3. mysql命令行创建存储过程命令行定时执行sql语句

    mysql -uroot -p show databases; use scm; show tables; show procedure status; 其他命令: SHOW VARIABLES LI ...

  4. PHP Yii1.1.13(一):命令行创建应用~shop

    第一节 初始目录结构 (1)初识目录结构 在创建应用之前,我们来看一下Yii 1.x版本的目录结构:将yii-1.1.13安装文件解压到网站根目录下,打开framework目录,其目录如下图所示 (2 ...

  5. 【Android测试】【随笔】在手机里用命令行创建中文文件夹

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4580319.html 不知道为啥当时自己写了一段在手机里用 ...

  6. 命令行创建畸形文件夹+畸形目录管理工具(DeformityPath)

    命令行创建畸形文件夹: 第一步:在运行中输入cmd,回车,打开命令行窗口 第二步:在命令行窗口中切换到想要建立文件夹的硬盘分区,如D盘(输入d:) 第三步:输入 MD 123..\ 回车,注意文件夹名 ...

  7. 命令行创建AVD

    1.命令行创建AVD android create avd -n myAvd -t 8 -b armeabi-v7a -p d:\scard.img -s HVGA 2.删除AVD android d ...

  8. 命令行创建Android应用,生成签名,对APK包签名并编译运行

    一.命令行创建Android应用 android create project -n HelloWorld -t android-22 -p HelloWorld1 -k org.crazyit.he ...

  9. Visual Studio命令行创建库文件lib

    Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...

随机推荐

  1. 真-关闭win10安全中心(windows defender)

    狂客原创,转载请注明.侵权必究 第一 任务管理器 启动项 禁用 第二 使用win+R,打开运行命令输入:gpedit.msc然后点击确定 在管理模块下找到Windows组件,接续打开下拉菜单,找到Wi ...

  2. ratio_to_report 分析函数求占比

    drop table test; create table test ( name varchar(20), kemu varchar(20), score number  ); insert int ...

  3. oracle多个单引号的处理

    Oracle多个单引号的处理 在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义.单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好理解. 下面转载 1.从第二个 ...

  4. 关于v$librarycache的几个字段含义

    对v$librarycache中的get,pin和reload的含义: Gets: (Parse) The number of lookups for objects of the namespace ...

  5. 创建多线程Thread

    创建一个线程: # 方式一from threading import Thread import time def func(n): time.sleep(1) print(n) t = Thread ...

  6. Java 中的 IO 与 socket 编程 [ 复习 ]

    一.Unix IO 与 IPC Unix IO:Open-Read or Write-Close IPC:open socket - receive and send to socket - clos ...

  7. 小tip: transition与visibility

    一.transition与visibility 这里的transition指的就是CSS3中的那个过渡动画属性transition. 如果我们仔细查看其支持的CSS属性值,会发现竟然有一个visibi ...

  8. java.sql.SQLException: Field 'id' doesn't have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法

    1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时)

  9. JavaScript---设计模式总结

    写了两篇设计模式的东西后,感觉不是很完美,决定闭关修炼,同时写下笔记 重申:设计模式很有用! 这里列一个设计模式的目录防止漏了某个东西(未完成的没有链接) 单例模式 策略模式 代理模式 迭代器模式 发 ...

  10. hibernate--博客

    地址:http://blog.csdn.net/wangpeng047/article/category/907051