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 {
width: 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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM