1. 使用命令行创建服务

创建服务:会创建一个deployment,若干个pod

kubectl run xxx --image=yyy 其他选项  # xxx为服务名(自己起),yyy为镜像名

kubectl run my-nginx --image=nginx --port=80
# 或者
kubectl run my-nginx --image=nginx --replicas=2 --port=80

kubectl get pod              # 查看pod
kubectl get svc              # 查看service

另外一种创建方式:

kubectl create xxx yyy --image=zzz  # 创建名为yyy的xxx类型应用,镜像为zzz。

# 例
kubectl create deployment http --image=katacoda/docker-http-server:latest

 

查看每种类型(如pod,deployment)的个数信息:

kubectl  get xxx -n namespace # xxx 代表pod、deployment等。-n指定命名空间,默认default

# 例
kubectl get pod

# 查看更详细的信息
kubectl  get xxx -o wide

 

查看服务详细信息:

kubectl  describe xxx yyy  # xxx是pod、svc、deployment等,yyy是相应的名称

# 例
kubectl  describe pod my-nginx

扩展或者收缩pod数量:

kubectl scale --replicas=3 deployment my-nginx
kubectl scale deploy/pingpong --replicas 8

暴露服务:

暴露deployment之类的会自动生成对应的service。

kubectl expose xxx/yyy --type="NodePort" --port ??? # 使用NodePort暴露服务

 

例子:

kubectl expose replicationcontroller/mysql --type="NodePort" --port 3306

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

此时mysql已经启动了,可以使用mysql命令连接到该数据库。可以通过两种ip访问该mysql。

1. 在创建该服务的机器上:10.254.231.204:3306

2. 其他与该机器可以ping通的机器:本机ip:32719

 

删除服务:

kubectl delete deployment my-nginx

查看pod部署在哪台机器上:

如果pod部署在本机器上,那么执行如下命令,输出不为空。

docker ps |grep nginx  # nginx替换为你自己的pod名字

 

2. 使用yaml文件创建服务

1. 创建mysql.yaml文件(ReplicationController类型):

apiVersion: v1
kind: ReplicationController
metadata:
  name: mysql
spec:
  replicas: 1
  selector:
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - name: mysql
        image: docker.io/mysql:5.6.40
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

2. 启动服务 


kubectl create -f mysql.yaml

 

更新服务:先修改对应的yaml文件,然后执行

kubectl apply -f xxx.yaml 

删除服务:


kubectl delete -f xxx.yaml 

 

 

 

 

 

 

 

 

 

 

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐