kubernetes的基本使用和容器的创建

目录

检查基础配置

nginx容器

nginx容器的映射

运行容器

 创建mysql容器

资源调用

运行容器


实验环境上一篇,我们已经把kubernetes的基础环境配置好了,现在我们来进行使用

centos 7虚拟机基本配置
masterNat网卡
nodeNat网卡

检查基础配置

各节点准备好
[root@master ~]# kubectl get nodes
NAME     STATUS   ROLES    AGE     VERSION
master   Ready    master   3d23h   v1.18.2
node     Ready    <none>   3d23h   v1.18.2

各组件也运行成功
[root@master ~]# kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-675d8749dd-j7x8j   1/1     Running   2          3d23h
calico-node-6zxmb                          1/1     Running   2          3d23h
calico-node-p4c4x                          1/1     Running   2          3d23h
coredns-546565776c-sftfg                   1/1     Running   2          3d23h
coredns-546565776c-twwjm                   1/1     Running   2          3d23h
etcd-master                                1/1     Running   20         3d23h
kube-apiserver-master                      1/1     Running   20         3d23h
kube-controller-manager-master             1/1     Running   21         3d23h
kube-proxy-fqcn8                           1/1     Running   2          3d23h
kube-proxy-j9nwd                           1/1     Running   2          3d23h
kube-scheduler-master                      1/1     Running   4          3d23h

nginx容器

记不住命令可以生成模板自行更改
[root@master ~]# kubectl create deployment http --image=nainx --dry-run=client -o yaml
[root@master ~]# cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment      //指定的资源名字
metadata:
  creationTimestamp: null
  labels:
    app: nginx      //标签名,后面需要引用
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx    //镜像名
        name: nginx
        ports:
          - containerPort: 80
        resources: {}
status: {}

nginx容器的映射

[root@master ~]# cat nginxs.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx          //nginx容器的标签
  ports:
  - nodePort: 32200     //指定映射的端口
    port: 80   
    protocol: TCP
    targetPort: 80
  type: NodePort

运行容器

[root@master ~]# kubectl apply -f nginx.yaml 
deployment.apps/nginx created
[root@master ~]# kubectl apply -f nginxs.yaml 
service/nginx create
启动成功
[root@master ~]# kubectl get  pod
NAME                               READY   STATUS    RESTARTS   AGE
nginx-d46f5678b-9tc77              1/1     Running   0          108s

nginx 80端口映射32200端口
[root@master ~]# kubectl get svc
NAME              TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes        ClusterIP   10.96.0.1      <none>        443/TCP        3d23h
nginx             NodePort    10.99.41.141   <none>        80:32200/TCP   34s
查看容器启动的细节
[root@master ~]# kubectl describe pods nginx
启动成功
  Normal  Scheduled  78s   default-scheduler  Successfully assigned default/nginx-d46f5678b-9tc77 to node
  Normal  Pulling    77s   kubelet, node      Pulling image "nginx"
  Normal  Pulled     54s   kubelet, node      Successfully pulled image "nginx"

网页访问  http://节点ip:32200

 创建mysql容器

[root@master mysql]# cat mysql.yaml 
apiVersion: v1
kind: ReplicationController
metadata:
  labels:
    app: mysql
  name: mysql
spec:
  replicas: 1
  selector: 
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
      - image: mysql
        name: mysql
        ports:
          - containerPort: 3306
        env:                         //添加环境
          - name: MYSQL_ROOT_PASSWORD
            value: "123456"

资源调用

[root@master mysql]# cat mysqls.yaml 
apiVersion: v1
kind: Service
metadata:
  name: mysql
spec:
  selector:
    app: mysql
  ports:
    - port: 3306

运行容器

[root@master mysql]# kubectl apply -f mysql.yaml 
replicationcontroller/mysql created
[root@master mysql]# kubectl apply -f mysqls.yaml 
service/mysql created
查看是否启动了
[root@master mysql]# kubectl get pod
NAME                               READY   STATUS    RESTARTS   AGE
mysql-vzgzp                        1/1     Running   0          49s

进入容器在容器中打开数据库
[root@master mysql]# kubectl exec -it mysql-vzgzp  /bin/bash    mysql-vzgzp(启动后pod
查询到的名字)

进入数据库
root@mysql-vzgzp:/# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.25 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值