1. 检查kubernetes 组件是否正常运行。

[root@c720120 ~]# kubectl get cs

NAME                 STATUS    MESSAGE              ERROR

scheduler            Healthy   ok                  

controller-manager   Healthy   ok                  

etcd-0               Healthy   {"health": "true"}  

etcd-1               Healthy   {"health": "true"}  

etcd-2               Healthy   {"health": "true"}

2. 检查kubernetes master状态

[root@c720120 ~]# kubectl cluster-info

Kubernetes master is running at https://192.168.20.134:6443

Heapster is running at https://192.168.20.134:6443/api/v1/namespaces/kube-system/services/heapster/proxy

KubeDNS is running at https://192.168.20.134:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

monitoring-grafana is running at https://192.168.20.134:6443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy

monitoring-influxdb is running at https://192.168.20.134:6443/api/v1/namespaces/kube-system/services/monitoring-influxdb/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

3. 检查所有节点是否准备好。

[root@c720120 ~]# kubectl get nodes

NAME               STATUS     ROLES     AGE       VERSION

c720120.xiodi.cn   Ready      master    23d       v1.10.3

c720121.xiodi.cn   Ready      master    23d       v1.10.3

c720128.xiodi.cn   Ready      <none>    23d       v1.10.3

c720129.xiodi.cn   Ready      <none>    23d       v1.10.3

4. 运行一个nginx的容器案例

[root@c720120 ~]# kubectl run my-first-nginx --image=nginx --replicas=2 --port=80

deployment.apps "my-first-nginx" created

5. 查看所有的pods.

[root@c720120 ~]# kubectl get pods

NAME                                READY     STATUS    RESTARTS   AGE

alpine-interactive-669f6844-dxns9   1/1       Running   3          21d

flask-7bdd449f7f-kj2z9              1/1       Running   1          2d

my-first-nginx-6c9fb6f56b-f8kxd     1/1       Running   0          52s

my-first-nginx-6c9fb6f56b-k5vdz     1/1       Running   0          52s

nginx                               1/1       Running   2          22d

6. 查看所有的deployment

[root@c720120 ~]# kubectl get deployment

NAME                 DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE

alpine-interactive   1         1         1            1           21d

flask                1         1         1            1           21d

my-first-nginx       2         2         2            2           3m

7. 映射端口到外部,让用户能够访问该服务

[root@c720120 ~]# kubectl expose deployment my-first-nginx --port=80 --type=LoadBalancer

service "my-first-nginx" exposed

8. 查看发布的服务

[root@c720120 ~]# kubectl get services

NAME             TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE

kubernetes       ClusterIP      10.96.0.1     <none>        443/TCP        23d

my-first-nginx   LoadBalancer   10.97.75.31   <pending>     80:31158/TCP   3m

9. 停止应用

[root@c720120 ~]# kubectl delete deployment my-first-nginx

deployment.extensions "my-first-nginx" deleted

[root@c720120 ~]# kubectl delete service my-first-nginx

service "my-first-nginx" deleted

10. 可以查看创建的服务详细信息

[root@c720120 ~]# kubectl describe service my-first-nginx

Name:                     my-first-nginx

Namespace:                default

Labels:                   run=my-first-nginx

Annotations:              <none>

Selector:                 run=my-first-nginx

Type:                     LoadBalancer

IP:                       10.111.128.100

Port:                     <unset>  80/TCP

TargetPort:               80/TCP

NodePort:                 <unset>  30066/TCP

Endpoints:                10.244.3.20:80,10.244.4.8:80

Session Affinity:         None

External Traffic Policy:  Cluster

Events:                   <none>

11. 用浏览器进行校验下服务

在kubernetes运行一个容器案例的更多相关文章

  1. 运行 Docker 容器时的安全风险:别丢了你的套接字

    我们都遇到过这种情况:你只是想尝试一段命令行,但安装进程却如同抵押贷款申请那般繁琐.如果不是强制要求完成这么多步骤,你的开发环境会被永远不会再使用的库弄乱.自然, Docker 来了以后,你惊异地发现 ...

  2. kubernetes之多容器pod以及通信

    系列目录 容器经常是为了解决单一的,窄范围的问题,比如说微服务.然而现实中,一些复杂问题的完成往往需要多个容器.这里我们讨论一下如何把多个容器放在同一个pod里以及容器间的通信 什么是pod pod是 ...

  3. 运行docker容器镜像

    docker容器可以理解为在盒中运行的进程. 这个盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等. 但这个盒默认是不会运行任何程序的. 1.运行镜像之前,可以先查看本地有 ...

  4. kubernetes 每个node上只能运行一个副本DaemonSet

    每个node上只能运行一个副本: apiVersion: extensions/v1beta1 kind: DaemonSet #使用DaemonSet的方式运行 metadata: name: ku ...

  5. Kubernetes 实战 —— 03. pod: 运行于 Kubernetes 中的容器

    介绍 pod P53 pod 是 Kubernetes 中最为重要的核心概念,而其他对象仅仅用于 pod 管理. pod 暴露或被 pod 使用. pod 是一组并置的容器,代表了 Kubernete ...

  6. 通过运行一个tomcat容器来记录下初学docker常用的几个命令---容器篇

    1.查看容器列表 显示正在运行的容器: [root@localhost HMK]# docker ps 显示所有容器,包括未运行的: [root@localhost HMK]# docker ps - ...

  7. 使用Minikube运行一个本地单节点Kubernetes集群(阿里云)

    使用Minikube运行一个本地单节点Kubernetes集群中使用谷歌官方镜像由于某些原因导致镜像拉取失败以及很多人并没有代理无法开展相关实验. 因此本文使用阿里云提供的修改版Minikube创建一 ...

  8. 【云计算】K8S DaemonSet 每个node上都运行一个pod

    Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统,对于负载均衡.服务发现.高可用.滚动升级.自动伸缩等容器云平台的功能要求有原生支持.今天我分享一下我们在 ...

  9. 基于Kubernetes构建企业容器云

    前言 团队成员有DBA.运维.Python开发,由于需要跨部门向公司私有云团队申请虚拟机, 此时我在思考能否在现有已申请的虚拟机之上,再进行更加细粒度的资源隔离和划分,让本团队的成员使用, 也就是在私 ...

随机推荐

  1. Rabbitmq -- rpc

    一.前言 MQ本身是基于异步的消息处理,前面的示例中所有的生产者(P)将消息发送到RabbitMQ后不会知道消费者(C)处理成功或者失败(甚至连有没有消费者来处理这条消息都不知道).但实际的应用场景中 ...

  2. Python入门记录

    最近看到Python3.7版本已经发布了,安装了Aconda最新的版本.安装完成后测试: 在Python程序里有两种办法查看Python版本信息: import sys # 查看版本 print(sy ...

  3. DHCP及DHCP多作用域服务器工作原理

    一.DHCP服务是什么 DHCP称为动态主机配置协议.DHCP服务允许工作站连接到网络并且自动获取一个IP地址.配置DHCP服务的服务器可以为每一个网络客户提供一个IP地址.子网掩码.缺省网关.一个W ...

  4. KeyDown,KeyPress和KeyUp详解(转)

    1.按键的类型 Windows窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码.使用Keys枚举,可以综合一系列按键以生成单个值,这些值与WM_KEYDOWN和WM_SYSKEYDOWNWind ...

  5. SQL Server 2008过期导致MSSQLSERVER服务无法启动现象

    SQL Server 2008过期导致MSSQLSERVER服务无法启动现象:安装的是SQL Server 2008评估版,180天的试用期后,MSSQLSERVER服务就无法启动,手动启动就报告17 ...

  6. UVA 1575 Factors

    https://vjudge.net/problem/UVA-1575 题意: 令f(k)=n 表示 有n种方式,可以把正整数k表示成几个数的乘积的形式. 例 10=2*5=5*2,所以f(10)=2 ...

  7. ASP.Net中自定义Http处理及应用之HttpModule篇

    HttpHandler实现了类似于ISAPI Extention的功能,他处理请求(Request)的信息和发送响应(Response).HttpHandler功能的实现通过实现IHttpHandle ...

  8. 【有上下界网络流】【ZOJ】2314 Reactor Cooling

    [算法]有上下界网络流-无源汇(循环流) [题解]http://www.cnblogs.com/onioncyc/p/6496532.html //未提交 #include<cstdio> ...

  9. 铺地砖|状压DP练习

    有一个N*M(N<=5,M<=1000)的棋盘,现在有1*2及2*1的小木块无数个,要盖满整个棋盘,有多少种方式?答案只需要mod1,000,000,007即可. //我也不知道这道题的来 ...

  10. mysql查询日期相关的

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...