国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于 Docker for MAC 的 Kubernetes 本地環(huán)境搭建與應(yīng)用部署

jone5679 / 761人閱讀

摘要:基于的本地環(huán)境搭建與應(yīng)用部署歸納于分布式容器與編排,參考了一文,更多或者相關(guān)資料參閱。最后我們還可以用與命令來刪除應(yīng)用

基于 Docker for MAC 的 Kubernetes 本地環(huán)境搭建與應(yīng)用部署歸納于分布式容器與編排,參考了 Docker + Kubernetes一文,更多 Docker 或者 Kubernetes 相關(guān)資料參閱 Awesome Reference。
基于 Docker for MAC 的 Kubernetes 本地環(huán)境搭建與應(yīng)用部署

下載最新的 Docker for Mac 或者 Edge 版本,即可以看到內(nèi)置的 Kubernetes 集群,直接點(diǎn)擊安裝即可在本地搭建好單節(jié)點(diǎn)的 Kubernetes 環(huán)境:

安裝完畢后,如果我們也勾選了 Show system containers 選項,那么使用如下的 Docker 命令,能看到自動安裝的 Kubernetes 相關(guān)容器:

?  ~ docker container ls --format "table{{.Names}}	{{.Image }}	{{.Command}}"
NAMES                                                                                                                   IMAGE                                                    COMMAND
k8s_compose_compose-75f8bb4779-stxv9_docker_3c963862-f9f4-11e7-93cc-025000000001_0                                      docker/kube-compose-controller                           "/compose-controller…"
k8s_POD_compose-75f8bb4779-stxv9_docker_3c963862-f9f4-11e7-93cc-025000000001_0                                          gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_sidecar_kube-dns-545bc4bfd4-799pr_kube-system_139bf000-f9f4-11e7-93cc-025000000001_0                                gcr.io/google_containers/k8s-dns-sidecar-amd64           "/sidecar --v=2 --lo…"
k8s_dnsmasq_kube-dns-545bc4bfd4-799pr_kube-system_139bf000-f9f4-11e7-93cc-025000000001_0                                gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64     "/dnsmasq-nanny -v=2…"
k8s_kubedns_kube-dns-545bc4bfd4-799pr_kube-system_139bf000-f9f4-11e7-93cc-025000000001_0                                gcr.io/google_containers/k8s-dns-kube-dns-amd64          "/kube-dns --domain=…"
k8s_kube-proxy_kube-proxy-rrd8t_kube-system_139b00df-f9f4-11e7-93cc-025000000001_0                                      gcr.io/google_containers/kube-proxy-amd64                "/usr/local/bin/kube…"
k8s_POD_kube-dns-545bc4bfd4-799pr_kube-system_139bf000-f9f4-11e7-93cc-025000000001_0                                    gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_POD_kube-proxy-rrd8t_kube-system_139b00df-f9f4-11e7-93cc-025000000001_0                                             gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_kube-scheduler_kube-scheduler-docker-for-desktop_kube-system_972d74c9fc2f4ebd8ab673058e386a65_0                     gcr.io/google_containers/kube-scheduler-amd64            "kube-scheduler --ad…"
k8s_kube-apiserver_kube-apiserver-docker-for-desktop_kube-system_f7a81e8fe624bd46059fc6084e86bb81_0                     gcr.io/google_containers/kube-apiserver-amd64            "kube-apiserver --ad…"
k8s_etcd_etcd-docker-for-desktop_kube-system_56a21c0a5f545c0cca5388c457bb1b3b_0                                         gcr.io/google_containers/etcd-amd64                      "etcd --advertise-cl…"
k8s_kube-controller-manager_kube-controller-manager-docker-for-desktop_kube-system_8d1848c1e562e35a225e402988eadcd1_0   gcr.io/google_containers/kube-controller-manager-amd64   "kube-controller-man…"
k8s_POD_kube-apiserver-docker-for-desktop_kube-system_f7a81e8fe624bd46059fc6084e86bb81_0                                gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_POD_kube-controller-manager-docker-for-desktop_kube-system_8d1848c1e562e35a225e402988eadcd1_0                       gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_POD_kube-scheduler-docker-for-desktop_kube-system_972d74c9fc2f4ebd8ab673058e386a65_0                                gcr.io/google_containers/pause-amd64:3.0                 "/pause"
k8s_POD_etcd-docker-for-desktop_kube-system_56a21c0a5f545c0cca5388c457bb1b3b_0                                          gcr.io/google_containers/pause-amd64:3.0                 "/pause"

關(guān)于各個容器的作用,可以參閱 這里。在安裝過程中,Docker 也為我們安裝了 kubectl 控制命令:

$ kubectl get namespaces
$ kubectl get posts --namespace kube-system

接下來我們可以使用 kubectl 命令來創(chuàng)建簡單的 kubernetes-dashboard 服務(wù):

?  ~ kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
secret "kubernetes-dashboard-certs" created
serviceaccount "kubernetes-dashboard" created
role "kubernetes-dashboard-minimal" created
rolebinding "kubernetes-dashboard-minimal" created
deployment "kubernetes-dashboard" created
service "kubernetes-dashboard" created

服務(wù)安裝完畢后可以查看部署的容器與服務(wù):

?  ~ kubectl get deployments --namespace kube-system
NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kube-dns               1         1         1            1           22m
kubernetes-dashboard   1         1         1            0           26s
?  ~ kubectl get services --namespace kube-system
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
kube-dns               ClusterIP   10.96.0.10              53/UDP,53/TCP   22m
kubernetes-dashboard   ClusterIP   10.111.242.95           443/TCP         30s

在 Dashboard 啟動完畢后,可以使用 kubectl 提供的 Proxy 服務(wù)來訪問該面板:

$ kubectl proxy

# 打開如下地址:
# http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

如果訪問報錯,可以嘗試編輯 kubernetes-dashboard 服務(wù),或者參閱這里:

$ kubectl -n kube-system edit service kubernetes-dashboard

# Please edit the object below. Lines beginning with a "#" will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
...
  name: kubernetes-dashboard
  namespace: kube-system
  resourceVersion: "343478"
  selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard-head
  uid: 8e48f478-993d-11e7-87e0-901b0e532516
spec:
  clusterIP: 10.100.124.90
  externalTrafficPolicy: Cluster
  ports:
  - port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: ClusterIP ->> NodePort
status:
  loadBalancer: {}

訪問上述地址,我們可以看到登錄界面:

此時可暫時直接跳過,進(jìn)入到控制面板中:

Docker 同樣為我們提供了簡單的應(yīng)用示范,可以直接使用如下的 Docker Compose 配置文件:

version: "3.3"

services:
  web:
    build: web
    image: dockerdemos/lab-web
    volumes:
     - "./web/static:/static"
    ports:
     - "80:80"

  words:
    build: words
    image: dockerdemos/lab-words
    deploy:
      replicas: 5
      endpoint_mode: dnsrr
      resources:
        limits:
          memory: 16M
        reservations:
          memory: 16M

  db:
    build: db
    image: dockerdemos/lab-db

然后使用 stack 命令創(chuàng)建應(yīng)用棧:

$ docker stack deploy --compose-file stack.yml demo

Stack demo was created
Waiting for the stack to be stable and running...
 - Service web has one container running

應(yīng)用棧創(chuàng)建完畢后,可以使用 kubectl 查看創(chuàng)建的 Pods:

$ kubectl get pods

NAME                     READY     STATUS    RESTARTS   AGE
db-7f99cc64b7-cbd9t      1/1       Running   0          2m
web-758c6998f8-tmxfm     1/1       Running   0          2m
words-54bf6c5d57-8bxc8   1/1       Running   0          2m
words-54bf6c5d57-dzxm8   1/1       Running   0          2m
words-54bf6c5d57-k2448   1/1       Running   0          2m
words-54bf6c5d57-mhh4p   1/1       Running   0          2m
words-54bf6c5d57-w2q82   1/1       Running   0          2m

也可以來查看部署的集群與服務(wù):

$ kubectl get deployments
NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
db        1         1         1            1           3m
web       1         1         1            1           3m
words     5         5         5            5           3m

$ kubectl get services
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
db           ClusterIP      None                   55555/TCP      3m
kubernetes   ClusterIP      10.96.0.1              443/TCP        52m
web          LoadBalancer   10.97.154.28        80:30577/TCP   3m
words        ClusterIP      None                   55555/TCP      3m

可以看到這里的 web 有所謂的 LoadBalancer 類型,即可以對外提供服務(wù)。最后我們還可以用 stack 與 kubectl 命令來刪除應(yīng)用:

$ docker stack remove demo
$ kubectl delete deployment kubernetes-dashboard --namespace kube-system

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/32614.html

相關(guān)文章

  • 基于 Docker for MAC Kubernetes 本地環(huán)境搭建應(yīng)用部署

    摘要:基于的本地環(huán)境搭建與應(yīng)用部署歸納于分布式容器與編排,參考了一文,更多或者相關(guān)資料參閱。最后我們還可以用與命令來刪除應(yīng)用 showImg(https://segmentfault.com/img/remote/1460000006760432); 基于 Docker for MAC 的 Kubernetes 本地環(huán)境搭建與應(yīng)用部署歸納于分布式容器與編排,參考了 Docker + Kub...

    SKYZACK 評論0 收藏0
  • DockerKubernetes 從聽過到略懂:給程序員旋風(fēng)教程

    摘要:默認(rèn)監(jiān)聽在端口,所以我們把宿主機(jī)的端口映射到容器的端口用下面的命令可以看到正在運(yùn)行中的容器這時如果你用瀏覽器訪問,就能看到我們剛才創(chuàng)建的頁面。這時如果刷新瀏覽器,就可以看到更新的內(nèi)容。 早在 Docker 正式發(fā)布幾個月的時候,LeanCloud 就開始在生產(chǎn)環(huán)境大規(guī)模使用 Docker,在過去幾年里 Docker 的技術(shù)棧支撐了我們主要的后端架構(gòu)。這是一篇寫給程序員的 Docker ...

    jackzou 評論0 收藏0
  • Kubernetes幾種主流部署方式01-minikube部署

    摘要:代表的解決方案為。雖然官網(wǎng)列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執(zhí)行了很多步驟命令執(zhí)行后輸出如下可以看到,主要做了這些事創(chuàng)建了名為的虛擬機(jī),并在虛擬機(jī)中安裝了容器運(yùn)行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產(chǎn)環(huán)境的集群不是一件容易的事。好在隨著社區(qū)的快速發(fā)展,特別是在它成為事實上的容器編排標(biāo)準(zhǔn)以后,基本所有的主流云平臺都...

    Lionad-Morotar 評論0 收藏0
  • Kubernetes幾種主流部署方式01-minikube部署

    摘要:代表的解決方案為。雖然官網(wǎng)列出的部署方式很多,但也不用被這么多種部署方式搞糊涂了。雖然只是一條命令,但其實執(zhí)行了很多步驟命令執(zhí)行后輸出如下可以看到,主要做了這些事創(chuàng)建了名為的虛擬機(jī),并在虛擬機(jī)中安裝了容器運(yùn)行時。 綜述 Kubernetes集群的組件眾多,要部署一套符合生產(chǎn)環(huán)境的集群不是一件容易的事。好在隨著社區(qū)的快速發(fā)展,特別是在它成為事實上的容器編排標(biāo)準(zhǔn)以后,基本所有的主流云平臺都...

    浠ラ箍 評論0 收藏0
  • 數(shù)人云|20種終極工具,為你Docker搭建安全防火墻

    摘要:為容器設(shè)計的商業(yè)安全套件,功能包括安全審計容器鏡像驗證運(yùn)行時保護(hù)自動策略學(xué)習(xí)或入侵預(yù)防。基于一種稱為的新內(nèi)核技術(shù),允許根據(jù)容器身份定義并執(zhí)行網(wǎng)絡(luò)層和層安全策略。自動發(fā)現(xiàn)應(yīng)用程序容器和服務(wù)的行為,以及與其他類似方式檢測安全升級和其他威脅。 數(shù)人云:隨著越來越多的企業(yè)將生產(chǎn)工作負(fù)載遷移到容器當(dāng)中,關(guān)于Docker的安全性,成了普遍關(guān)注的問題。 這是一個簡單卻又沒有答案的問題,不要試圖用二進(jìn)...

    jlanglang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<