• K8S使用入门-创建第一个容器


      前面两个教程我们已经使用kubekit将K8S搭建起来了。但是,没有将实际使用中需要在K8S上部署我们的容器创建起来的教程,都是耍流氓。所以,经过几番折腾,我回来给自己洗白了。之前一直卡在创建第一个容器上,是因为前面部署的步骤其实是有问题的,只是没有直接显示出来,具体已经在之前的相应博客中进行了更新。

      现在我们来说一下如何使用K8S创建我们的第一个容器。都是在终端上劈里啪啦敲命令的,所以就直接上代码了。[root@bogon ~]# kubectl run my-nginx --image=nginx --replicas=2 --port=80  #创建我们的第一个容器命令。这里应该没有作映射到容器外部访问端口,后续我再加强研究
    deployment "my-nginx" created
    [root@bogon ~]# kubectl get pods  #查看我们自己创建的容器运行状态
    NAME                        READY     STATUS    RESTARTS   AGE
    my-nginx-4293833666-9vn38   1/1       Running   0          3m
    my-nginx-4293833666-bl672   1/1       Running   0          3m

    [root@bogon ~]# kubectl get pods --all-namespaces -owide  #查看k8S所有容器的状态
    NAMESPACE     NAME                                    READY     STATUS    RESTARTS   AGE       IP              NODE
    default       my-nginx-4293833666-9vn38               1/1       Running   0          5m        10.96.1.5       141node    #这个ip我们后面会用到
    default       my-nginx-4293833666-bl672               1/1       Running   0          5m        10.96.1.4       141node
    kube-system   etcd-bogon                              1/1       Running   1          22h       192.168.2.140   bogon
    kube-system   kube-apiserver-bogon                    1/1       Running   1          22h       192.168.2.140   bogon
    kube-system   kube-controller-manager-bogon           1/1       Running   1          22h       192.168.2.140   bogon
    kube-system   kube-dns-2425271678-zh6r3               3/3       Running   3          1d        10.96.0.4       bogon
    kube-system   kube-flannel-ds-k7qxx                   2/2       Running   1          7m        192.168.2.141   141node
    kube-system   kube-flannel-ds-kwmk3                   2/2       Running   3          1d        192.168.2.140   bogon
    kube-system   kube-proxy-jm9d3                        1/1       Running   0          7m        192.168.2.141   141node
    kube-system   kube-proxy-vz8pr                        1/1       Running   1          1d        192.168.2.140   bogon
    kube-system   kube-scheduler-bogon                    1/1       Running   1          22h       192.168.2.140   bogon
    kube-system   kubernetes-dashboard-3313488171-2b06x   1/1       Running   1          1d        10.96.0.5       bogon

    [root@bogon ~]# kubectl describe pod my-nginx-4293833666-lqvjr  #查看某个容器的运行日志信息,可用于排错。比如说,下面这个报错No nodes are available。于是怀疑K8S添加的node有问题.所以有了下一条命令
    Name:        my-nginx-4293833666-lqvjr
    Namespace:    default
    Node:        <none>
    。。。。
    Events:
      FirstSeen    LastSeen    Count    From            SubObjectPath    Type        Reason            Message
      ---------    --------    -----    ----            -------------    --------    ------            -------
      2h        9s        589    default-scheduler            Warning        FailedScheduling    No nodes are available that match all of the following predicates:: PodToleratesNodeTaints (1).

    [root@bogon ~]# kubectl get nodes  #查看K8S的node。之前报错是因为只有一个bogon(这个就是我的K8S服务器本身)。但是在kubekit界面,我明明已经添加了141这个node了,状态也为Deployed。思考再三,看到默认的bogon主机名,突然想到难道是主机名一致,
    导致识别不到新加的节点。
    只能试试看了,果断重装并修改hostname,不要问我什么不直接修改hostname就行还那么麻烦要重装。原因很简单,因为k8s已经连上去进行安装了,直接修改hostname可能会导致和之前安装的内容冲突等意想不到的情况。保险起见,直接重装是最明智的选择。
    毕竟作为一个k8s新手,最好还是不要自己给自己找多余的麻烦了,否则各种报错,一不小心你就会怀疑人生了。果然,修改好主机名后,顺利创建了第一个k8s容器

    NAME STATUS AGE VERSION
    141node Ready 57m v1.7.2
    bogon Ready 2d v1.7.2
    [root@bogon ~]# ping 10.96.1.5  #正常操作,先ping一下通不通
    PING 10.96.1.5 (10.96.1.5) 56(84) bytes of data.
    64 bytes from 10.96.1.5: icmp_seq=1 ttl=63 time=0.520 ms
    64 bytes from 10.96.1.5: icmp_seq=2 ttl=63 time=0.475 ms
    ^C
    --- 10.96.1.5 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1000ms
    rtt min/avg/max/mdev = 0.475/0.497/0.520/0.031 ms
    [root@bogon ~]# curl 10.96.1.5  #访问部署的Nginx服务,可以看到服务正常
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    body {
    35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>

    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>

    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
  • 相关阅读:
    今天18:40分左右一部价值500多块捷安特自行车被盗!
    利用ASP.net上传文件
    _desktop.ini
    Visual Studio .NET 设置移植工具
    审计厅的项目终于可以告一段落了
    Word2CHM Assistant(Word2CHM助手)V2.1.0 破解版
    最近比较烦!
    delphi 中 Format 用法总汇
    谈谈公司管理及需求方面的问题
    [待续]SQLSERVER无法访问远程服务器问题
  • 原文地址:https://www.cnblogs.com/biaopei/p/12052168.html
Copyright © 2020-2023  润新知