kubernetes 快速使用

2017-08-29  本文已影响0人  littlezl

最近需要使用kubernetes部署一个服务,因为同事之前已经在服务器上用kubernetes部署过其它的服务,所以环境已经配置好,此文省略kubernetes的安装部分,只记录怎么用kubernetes部署一个docker镜像。

前提:需要拥有一个部署完毕并且可以正常运行的k8s集群

步骤1:把镜像推到私有镜像库中

#登录镜像仓库(< username >镜像库登录账号,<registry.cn-beijing.aliyuncs.com>阿里镜像库地址)
sudo docker login --username= <username> <registry.cn-beijing.aliyuncs.com>
>>[sudo]password for root: sudo需要root权限,输入root的密码
>>Password: 输入镜像库的登录密码
#根据imageID给某个镜像添加名称:版本
sudo docker tag < imageID > <registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0>
#把命名好的镜像推到已经登录的镜像库
sudo docker push <registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0>

步骤2:编辑配置文件

demo.yaml

步骤3:把demo.yaml放到master节点服务器上

scp demo.yaml root@host://root/

步骤4:在master节点上使用kubectl命令来创建一个运行着nginx服务器的容器

kubectl create -f demo.yaml

kubectl 命令

#使用yaml文件创建容器
kubectl create -f demo.yaml
#查看
kubectl get rc #查看rc控制器,rc保证始终pod运行
kubectl get service #查看运行的服务 
kubectl get po #查看运行的pod
#删除
kubectl delete rc <ios-demo> #删除rc控制器,会自动停止控制的pod运行
kubectl delete service <ios-demo-service> #删除服务
kubectl <delete po ios-demo-4g67z> #删除pod,但对于有rc控制的pod来说没有意义,因为删除pod后rc会自动重启一个pod,删除rc会自动删除控制的pod

demo.yaml文件

apiVersion: v1 # for versions before 1.6.0 use extensions/v1beta1
kind: ReplicationController
metadata:
  name: ios-demo
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: ios-demo
    spec:
      nodeSelector:
        zone: video
      containers:
      - name: ios-demo-containers
        image: registry.cn-beijing.aliyuncs.com/demo_group/demo:1.0.0
        env:
        - name: LANG
           value: C.UTF-8
        ports:
        - containerPort: 8000

---
apiVersion: v1
kind: Service
metadata:
  name: ios-demo-service
  labels:
    name:ios-demo-service
spec:
  type: NodePort
  ports:
  - name: djangoport
     protocol: TCP
     port: 8000 #docker监听端口
     targetPort: 8000 #映射到虚拟机的8000端口
     nodePort: 32800 #映射到服务器对外端口32800
  selector:
     name: ios-demo

**注释:<>指代需替换的部分,实际使用时语句不包含该字符

上一篇下一篇

猜你喜欢

热点阅读