K8s入门-创建

一、前言

k8s 引用程序的相关创建、查询、管理等操作需要kubectl支持
输入kubectl -h 或 kubectl xx -h 可以查询相关指令支持

二、开始创建(以Nginx为例)

1、下载安装docker镜像

//查询Nginx镜像版本
$ docker search nginx
//下载最新镜像
$ docker pull nginx:latest
//查看一下
$ docker images

2、kubectl创建应用程序(Deployment)

创建指令为 kubectl run,查询相关指令可执行 kubectl run -h

1、测试执行指令
$ kubectl run nginx-deploy --image=nginx --port=80 --replicas=1 --dry-run=true  

#nginx-deploy    deployment显示的名称 
#--image        镜像的地址 
#--port         pod暴露的端口 
#--replicas     副本的个数 
#--dry-run      作为测试指令运行,未实际执行

2、正式执行
$ kubectl run nginx-deploy --image=nginx --port=80 --replicas=2
deployment.apps "nginx-deploy" created  #创建成功

3、查询在deployment是否存在
$ kubectl get deployment
NAME          DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx-deploy    1         1         1            1          8s

# DESIRED      期望pod个数 
# CURRENT      当前pod个数
# UP-TO-DATE   最新pod个数
# AVAILABLE    可用pod个数

4、返回所有Pod的列表
$ kubectl get pods
NAME                                READY     STATUS    RESTARTS   AGE
nginx-deploy-acd123daad-asdsa        1/1      Running      0       19s


【注】Deployment部署成功了,但是外部是不可以访问的

3、kubectl创建服务(Service)

在集群外部是无法访问集群内部程序的,Service是提供于外部访问集群中Pod
创建指令为kubectl expose,查询相关指令可执行 kubectl expose -h

1、执行创建
$ kubectl expose deployment nginx-deploy  --name=nginx   --port=8099 --target-port=80 --type=NodePort  

【注】port暴露端口,target-port对应端口,当port重复时,会自动映射一个新的端口,查询时PORT下显示为80:[随机端口]/TCP,故建议制定端口

其它参数描述与Deployment相同,重点描述一下type参数:
    Cluster IP(默认): 只有集群内部访问
    NodePort: 使用NAT方式,在集群中每个选定的节点的同一端口上暴露服务,可以在集群外部访问服务。
    LoadBalancer:创建外部负载均
    ExternalName:使用任意名称显示服务


2、查询信息
$ kubectl get svc

NAME         TYPE        CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
kubernetes   ClusterIP   10.xx.xx.1     <none>        443/TCP        30m
nginx        NodePort    192.168.11.3   <none>        8099/TCP       8s

4、访问

根据上一步创建的Service,访问192.168.11.3:8099(即CLUSTER-IP:PORT)就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值