k8s中部署Nginx

kubectl  create  deployment nginx  --image=nginx
kubectl  create  deployment tomcat   --image=tomcat

kubectl  get   nodes
kubectl  get   pod
kubectl  get   deployment
kubectl  get   service
kubectl  get  namespace
kubectl  get   node   -o   wide
pod的几种状态
1)Pending:Pod创建已经提交给k8s,但是因为某种原因不能顺利创建,例如下载镜像慢,调度不成功等
2)Running:Pod已经绑定到一个节点上了,并且已经创建了所有容器。只是有一个容器正在运行,或者在启动中
3)Secceeded:Pod中的所有容器都已经成功终止,不能重新启动
4)Failed: Pod中所有的容器均已经终止,且至少有一个容器已经在故障中终止
5)Unkown:由于某中原因apiserver无法获取到Pod的状态。通常是由于Master与pod所在的主机失去连接了
暴漏nginx端口
kubectl  expose  deployment  nginx  --port=80 --type=NodePort
暴漏tomcat端口
kubectl  expose  deployment  tomcat  --port=8080 --type=NodePort

kubectl  describe  pods    pods名称

删除控制器
kubectl  delete  deployment  控制器名称    名称是get查出来的,控制器删除Pod就跟随删除
kubectl  delete    pod    pod名称 
kubectl  delete  service   service名称 
Kubernetes部署容器化应用步骤
1、制作镜像(自定义dockerfile制作、从远程仓库或者本地仓库拉取)
2、通过控制器管理pod(就是把镜像启动到一个容器里,容器在Pod里)
3、暴露应用,以便外界访问
自定义jdk镜像Dockerfile
FROM centos:latest
MAINTAINER  long
ADD jdk-8u301-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_301
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
CMD java --version

构建镜像
docker  build  -t   jdk1.8.0_301  .
kubectl  create  deployment     jdk1.8.0_301-k8s   --image=jdk1.8.0_301   --dry-run  -o  yaml>>java.yaml         试运行
kubectl  create  deployment     c_jdk1.8.0_301   --image=jdk1.8.0_301   --dry-run  -o  yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: c_jdk1.8.0_301
  name: c_jdk1.8.0_301
spec:
  replicas: 1
  selector:
    matchLabels:
      app: c_jdk1.8.0_301
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: c_jdk1.8.0_301
    spec:
      containers:
      - image: jdk1.8.0_301
        name: jdk1-8-0-301-9x27g
        resources: {}
status: {}
如果上面镜像- image: jdk1.8.0_301在本地,需要添加一行imagePullPoliy: Never,代表不从远程拉取
spec:
      containers:
      - image: jdk1.8.0_301
        name: jdk1-8-0-301-k6vtb
        imagePullPoliy: Never
        resources: {}
status: {}