SlideShare a Scribd company logo
青云CoreOS虚拟机部署Kubernetes
Felix.Liang
Kubernetes集群拓扑
- etcd
- kube-apiserver
- kube-scheduler
- kube-controller-
manager
Kubernetes Master
10.60.33.151
- flannel
- docker
- kubelet
- kube-proxy
Kubernetes Node
10.60.49.71
- flannel
- docker
- kubelet
- kube-proxy
Kubernetes Node
10.60.135.238
软件安装包 CoreOS默认安装etcd和docker
Flannel当前最新版本为0.5.2
wget https://github.com/coreos/flannel/releases/download/v0.5.2/flannel-0.5.2-linux-
amd64.tar.gz
tar zxvf flannel-0.5.2-linux-amd64.tar.gz
cp flannel-0.5.2/flanneld /opt/bin
Kubernetes当前最新版本为1.0.1
wget https://github.com/GoogleCloudPlatform/kubernetes/releases/download/v1.0.1/
kubernetes.tar.gz
tar zxvf kubernetes.tar.gz
tar zxvf kubernetes/server/kubernetes-server-linux-amd64.tar.gz
cd kubernetes/server/kubernetes/server/bin
cp kube-apiserver kube-controller-manager kube-proxy kube-scheduler kubectl kubelet /opt/
bin
Kubernetes Master配置
etcd启动配置文件: /etc/systemd/system/k8setcd.service
[Unit]
Description=Etcd Key-Value Store for Kubernetes Cluster
[Service]
ExecStart=/usr/bin/etcd2 
--name 'default' 
--data-dir '/root/Data/etcd/data' 
--advertise-client-urls 'http://0.0.0.0:4001' 
--listen-client-urls 'http://0.0.0.0:4001'
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Master配置
kube-apiserver启动配置文件: /etc/systemd/system/kube-apiserver.service
[Unit]
Description=Kubernetes API Server
After=k8setcd.service
Wants=k8setcd.service
[Service]
ExecStart=/opt/bin/kube-apiserver 
--v=3 
--admission_control=NamespaceLifecycle,NamespaceAutoProvision,LimitRanger,ResourceQuota 
--address=0.0.0.0 
--port=8080 
--etcd_servers=http://127.0.0.1:4001 
--service-cluster-ip-range=10.0.0.0/24
ExecStartPost=-/bin/bash -c "until /usr/bin/curl http://127.0.0.1:8080; do echo "waiting for API server to come
online..."; sleep 3; done"
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Master配置
kube-apiserver启动配置文件: /etc/systemd/system/kube-scheduler.service
[Unit]
Description=Kubernetes Scheduler
After=k8setcd.service
After=kube-apiserver.service
Wants=k8setcd.service
Wants=kube-apiserver.service
[Service]
ExecStart=/opt/bin/kube-scheduler 
--v=3 
--master=http://127.0.0.1:8080
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Master配置
kube-apiserver启动配置文件: /etc/systemd/system/kube-controller-
manager.service
[Unit]
Description=Kubernetes Controller Manager
After=k8setcd.service
After=kube-apiserver.service
Wants=k8setcd.service
Wants=kube-apiserver.service
[Service]
ExecStart=/opt/bin/kube-controller-manager 
--v=3 
--master=http://127.0.0.1:8080
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Master启动组件
systemctl enable k8setcd.service
systemctl enable kube-apiserveri.service
systemctl enable kube-scheduler.service
systemctl enable kube-controller-manager.service
systemctl start k8setcd.service
systemctl start kube-apiserveri.service
systemctl start kube-scheduler.service
systemctl start kube-controller-manager.service
# kubectl get services
NAME LABELS SELECTOR IP(S) PORT(S)
kubernetes component=apiserver,provider=kubernetes <none> 10.0.0.1 443/TCP
# kubectl get endpoints
NAME ENDPOINTS
kubernetes 10.60.33.151:6443
# kubectl get nodes
NAME LABELS STATUS
Kubernetes Master其他设置
etcd中配置flannel
etcdctl set /coreos.com/network/config "{ "Network": "10.100.0.0/16", "Backend": { "Type": "udp", "Port
": 8285 } }”
青云控制台中配置防火墙规则
Kubernetes Node需要访问Kubernetes Master上etcd的4001端口和kube-apiserver的8080端口
Kubernetes Node配置
flannel启动配置文件: /etc/systemd/system/flannel.service
[Unit]
Description=Flannel for Overlay Network
[Service]
ExecStart=/opt/bin/flanneld 
-v=3 
-etcd-endpoints=http://10.60.33.151:4001
ExecStartPost=-/bin/bash -c "until [ -e /var/run/flannel/subnet.env ]; do echo "waiting for write."; sleep 3;
done"
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Node配置
docker启动配置文件: /etc/systemd/system/docker.service
[Unit]
Description=Docker container engine configured to run with flannel
Requires=flannel.service
After=flannel.service
[Service]
EnvironmentFile=/var/run/flannel/subnet.env
ExecStartPre=-/usr/bin/ip link set dev docker0 down
ExecStartPre=-/usr/sbin/brctl delbr docker0
ExecStart=/usr/bin/docker -d -s=btrfs -H fd:// --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Node配置
kubelet启动配置文件: /etc/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
After=docker.service
Wants=docker.service
[Service]
ExecStart=/opt/bin/kubelet 
--v=3 
--chaos_chance=0.0 
--container_runtime=docker 
--hostname_override=10.60.135.238 
--address=10.60.135.238 
--api_servers=10.60.33.151:8080 
--port=10250
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Node配置
kube-proxy启动配置文件: /etc/systemd/system/kube-proxy.service
[Unit]
Description=Kubernetes proxy server
After=docker.service
Wants=docker.service
[Service]
ExecStart=/opt/bin/kube-proxy --v=3 --master=http://10.60.33.151:8080
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Kubernetes Node启动组件
systemctl enable flannel.service
systemctl enable docker.service
systemctl enable kubelet.service
systemctl enable kube-proxy.service
systemctl start flannel.service
systemctl start docker.service
systemctl start kubelet.service
systemctl start kube-proxy.service
# kubectl get nodes
NAME LABELS STATUS
10.60.135.238 kubernetes.io/hostname=10.60.135.238 Ready
10.60.49.71 kubernetes.io/hostname=10.60.49.71 Ready
Kubernetes Master
eth0: 10.60.33.151
Kubernetes Node
eth0: 10.60.49.71
flannel0: 10.100.18.0
docker0: 10.100.18.1
Kubernetes Node
eth0: 10.60.135.238
flannel0: 10.100.17.0
docker0: 10.100.17.1
青云CoreOS虚拟机部署kubernetes
Kubernetes Node其他设置
准备pause镜像,Kubernetes会为每个Pod启动一个pause容器,默认镜像地址
被墙
docker pull docker.io/kubernetes/pause
docker tag docker.io/kubernetes/pause gcr.io/google_containers/pause:0.8.0
青云控制台中配置防火墙规则
flannel通过udp包实现ip数据包的封装来实现overlay network,需要打开udp端口8285
创建Pods
创建Replication Controller
# kubectl --server="http://121.201.63.213:8080" create -f ~/Repository/kubernetes-project/
kubernetes-1.0.0/examples/replication.yaml
replicationcontrollers/felix-nginx-repcrl-001
# kubectl --server="http://121.201.63.213:8080" get replicationcontrollers
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR
REPLICAS
felix-nginx-repcrl-001 nginx nginx app=nginx,phase=test,role=frontend 2
# kubectl --server="http://121.201.63.213:8080" get pods
NAME READY STATUS RESTARTS AGE
felix-nginx-repcrl-001-92wo1 1/1 Running 0 19s
felix-nginx-repcrl-001-9h7b6 1/1 Running 0 19s
apiVersion: v1
kind: ReplicationController
metadata:
name: felix-nginx-repcrl-001
spec:
replicas: 2
selector:
app: nginx
role: frontend
phase: test
template:
metadata:
name: nginx
labels:
app: nginx
role: frontend
phase: test
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
创建Service
创建外网可访问的service
# kubectl --server="http://121.201.63.213:8080" create -f ~/Repository/kubernetes-project/kubernetes-1.0.0/examples/service.yaml
services/felix-nginx-service-001
# kubectl --server="http://121.201.63.213:8080" get services
NAME LABELS SELECTOR IP(S) PORT(S)
felix-nginx-service-001 <none> app=nginx,phase=test,role=frontend 10.0.0.88 10080/TCP
kubernetes component=apiserver,provider=kubernetes <none> 10.0.0.1 443/TCP
# kubectl --server="http://121.201.63.213:8080" get endpoints
NAME ENDPOINTS
felix-nginx-service-001 10.100.17.4:80,10.100.18.2:80
kubernetes 10.60.33.151:6443
apiVersion: v1
kind: Service
metadata:
name: felix-nginx-service-001
spec:
ports:
- port: 10080
targetPort: 80
nodePort: 30576
selector:
app: nginx
role: frontend
phase: test
type: NodePort
clusterIP: 10.0.0.88
创建青云负载均衡器 通过http监听器实现对两个Kubernetes Node
的负载均衡,监听端口号10080
公⺴⽹网访问nginx Browser
QingCloud LoadBalancer
121.201.63.213:10080
Kubernetes Node
eth0: 10.60.49.71
DNAT
Kube-Proxy
Pod: felix-nginx-repcrl-001-92wo1
eth0: 10.100.18.2
10.60.49.71:30576 10.60.135.238:30576
Kubernetes Node
eth0: 10.60.135.238
DNAT
Kube-Proxy
Pod: felix-nginx-repcrl-001-9h7b6
eth0: 10.100.17.4

More Related Content

What's hot (20)

PDF
Hyperledger composer
wonyong hwang
 
PDF
Kubernetes networking - basics
Juraj Hantak
 
PDF
Understanding docker networking
Lorenzo Fontana
 
PDF
kubernetes practice
wonyong hwang
 
PDF
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Michelle Antebi
 
PDF
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Docker, Inc.
 
PPTX
Discovering OpenBSD on AWS
Laurent Bernaille
 
PPTX
Docker practice
wonyong hwang
 
PDF
Acus08 Advanced Load Balancing Apache2.2
Jim Jagielski
 
PDF
Octo talk : docker multi-host networking
Hervé Leclerc
 
PPTX
Docker network Present in VietNam DockerDay 2015
Van Phuc
 
PDF
Defeating The Network Security Infrastructure V1.0
Philippe Bogaerts
 
PDF
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
Ji-Woong Choi
 
PPTX
Deep Dive in Docker Overlay Networks
Laurent Bernaille
 
PPTX
Docker networking
Alvaro Saurin
 
KEY
Apache httpd 2.4 Reverse Proxy
Jim Jagielski
 
PDF
Docker-OVS
snrism
 
PDF
Docker - container and lightweight virtualization
Sim Janghoon
 
PDF
Docker 1.12 networking deep dive
Madhu Venugopal
 
PDF
Kubernetes networking-made-easy-with-open-v switch
InfraEngineer
 
Hyperledger composer
wonyong hwang
 
Kubernetes networking - basics
Juraj Hantak
 
Understanding docker networking
Lorenzo Fontana
 
kubernetes practice
wonyong hwang
 
Docker Meetup: Docker Networking 1.11, by Madhu Venugopal
Michelle Antebi
 
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, Docker
Docker, Inc.
 
Discovering OpenBSD on AWS
Laurent Bernaille
 
Docker practice
wonyong hwang
 
Acus08 Advanced Load Balancing Apache2.2
Jim Jagielski
 
Octo talk : docker multi-host networking
Hervé Leclerc
 
Docker network Present in VietNam DockerDay 2015
Van Phuc
 
Defeating The Network Security Infrastructure V1.0
Philippe Bogaerts
 
[오픈소스컨설팅] 프로메테우스 모니터링 살펴보고 구성하기
Ji-Woong Choi
 
Deep Dive in Docker Overlay Networks
Laurent Bernaille
 
Docker networking
Alvaro Saurin
 
Apache httpd 2.4 Reverse Proxy
Jim Jagielski
 
Docker-OVS
snrism
 
Docker - container and lightweight virtualization
Sim Janghoon
 
Docker 1.12 networking deep dive
Madhu Venugopal
 
Kubernetes networking-made-easy-with-open-v switch
InfraEngineer
 

Similar to 青云CoreOS虚拟机部署kubernetes (20)

PDF
Kubernetes installation
Ahmed Mekawy
 
PDF
Kubernetes deployment on bare metal with container linux
macchiang
 
PDF
Learning kubernetes
Eueung Mulyana
 
PPTX
kubernetes baremetal installation and practice
wonyong hwang
 
PDF
Kubernetes Boston — Custom High Availability of Kubernetes
Mike Splain
 
PPTX
k8s practice 2023.pptx
wonyong hwang
 
PDF
Demystifying kubernetes
Works Applications
 
PDF
$ kubectl hacking @DevOpsCon Berlin 2019
Tobias Schneck
 
PDF
Kubernetes for Beginners
Nebulaworks
 
PDF
Scaling Docker with Kubernetes
Carlos Sanchez
 
PDF
Kube Your Enthusiasm - Tyler Britten
VMware Tanzu
 
PDF
Kubernetes networking
Sim Janghoon
 
PDF
Introduction of k8s rancher
cyberblack28 Ichikawa
 
PPTX
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
CoreOS
 
PDF
Kubernetes 101
Kublr
 
PPTX
Tutorial on using CoreOS Flannel for Docker networking
LorisPack Project
 
PDF
Social Connections 14 - Kubernetes Basics for Connections Admins
panagenda
 
PDF
Kubernetes Basics for Connections Admins
LetsConnect
 
PPTX
Scaling Jenkins with Docker and Kubernetes
Carlos Sanchez
 
PPTX
CKA_1st.pptx
YIJHEHUANG
 
Kubernetes installation
Ahmed Mekawy
 
Kubernetes deployment on bare metal with container linux
macchiang
 
Learning kubernetes
Eueung Mulyana
 
kubernetes baremetal installation and practice
wonyong hwang
 
Kubernetes Boston — Custom High Availability of Kubernetes
Mike Splain
 
k8s practice 2023.pptx
wonyong hwang
 
Demystifying kubernetes
Works Applications
 
$ kubectl hacking @DevOpsCon Berlin 2019
Tobias Schneck
 
Kubernetes for Beginners
Nebulaworks
 
Scaling Docker with Kubernetes
Carlos Sanchez
 
Kube Your Enthusiasm - Tyler Britten
VMware Tanzu
 
Kubernetes networking
Sim Janghoon
 
Introduction of k8s rancher
cyberblack28 Ichikawa
 
Tectonic Summit 2016: Kubernetes 1.5 and Beyond
CoreOS
 
Kubernetes 101
Kublr
 
Tutorial on using CoreOS Flannel for Docker networking
LorisPack Project
 
Social Connections 14 - Kubernetes Basics for Connections Admins
panagenda
 
Kubernetes Basics for Connections Admins
LetsConnect
 
Scaling Jenkins with Docker and Kubernetes
Carlos Sanchez
 
CKA_1st.pptx
YIJHEHUANG
 
Ad

More from Zhichao Liang (14)

PPTX
微软Bot framework简介
Zhichao Liang
 
PDF
青云虚拟机部署私有Docker Registry
Zhichao Liang
 
PDF
开源Pass平台flynn功能简介
Zhichao Liang
 
PDF
Introduction of own cloud
Zhichao Liang
 
PDF
Power drill列存储底层设计
Zhichao Liang
 
PDF
C store底层存储设计
Zhichao Liang
 
PDF
Storage Class Memory: Technology Overview & System Impacts
Zhichao Liang
 
PPTX
A simple introduction to redis
Zhichao Liang
 
PDF
Memcached简介
Zhichao Liang
 
PPTX
Some key value stores using log-structure
Zhichao Liang
 
PPT
A novel method to extend flash memory lifetime in flash based dbms
Zhichao Liang
 
PPT
Sub join a query optimization algorithm for flash-based database
Zhichao Liang
 
PPTX
Hush…tell you something novel about flash memory
Zhichao Liang
 
PPTX
Survey of distributed storage system
Zhichao Liang
 
微软Bot framework简介
Zhichao Liang
 
青云虚拟机部署私有Docker Registry
Zhichao Liang
 
开源Pass平台flynn功能简介
Zhichao Liang
 
Introduction of own cloud
Zhichao Liang
 
Power drill列存储底层设计
Zhichao Liang
 
C store底层存储设计
Zhichao Liang
 
Storage Class Memory: Technology Overview & System Impacts
Zhichao Liang
 
A simple introduction to redis
Zhichao Liang
 
Memcached简介
Zhichao Liang
 
Some key value stores using log-structure
Zhichao Liang
 
A novel method to extend flash memory lifetime in flash based dbms
Zhichao Liang
 
Sub join a query optimization algorithm for flash-based database
Zhichao Liang
 
Hush…tell you something novel about flash memory
Zhichao Liang
 
Survey of distributed storage system
Zhichao Liang
 
Ad

Recently uploaded (20)

PPT
Computer Securityyyyyyyy - Chapter 1.ppt
SolomonSB
 
PDF
Internet Governance and its role in Global economy presentation By Shreedeep ...
Shreedeep Rayamajhi
 
PPTX
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
PPTX
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
PPTX
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 
PPTX
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
PPTX
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
PPT
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
PPTX
Random Presentation By Fuhran Khalil uio
maniieiish
 
PPTX
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
PPTX
internet básico presentacion es una red global
70965857
 
PPTX
Powerpoint Slides: Eco Economic Epochs.pptx
Steven McGee
 
PDF
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PPTX
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
PDF
Slides PDF format Eco Economic Epochs.pdf
Steven McGee
 
PDF
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
PPTX
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
PPTX
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
PDF
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
PPT
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 
Computer Securityyyyyyyy - Chapter 1.ppt
SolomonSB
 
Internet Governance and its role in Global economy presentation By Shreedeep ...
Shreedeep Rayamajhi
 
unit 2_2 copy right fdrgfdgfai and sm.pptx
nepmithibai2024
 
Cost_of_Quality_Presentation_Software_Engineering.pptx
farispalayi
 
本科硕士学历佛罗里达大学毕业证(UF毕业证书)24小时在线办理
Taqyea
 
Template Timeplan & Roadmap Product.pptx
ImeldaYulistya
 
原版西班牙莱昂大学毕业证(León毕业证书)如何办理
Taqyea
 
Computer Securityyyyyyyy - Chapter 2.ppt
SolomonSB
 
Random Presentation By Fuhran Khalil uio
maniieiish
 
一比一原版(LaTech毕业证)路易斯安那理工大学毕业证如何办理
Taqyea
 
internet básico presentacion es una red global
70965857
 
Powerpoint Slides: Eco Economic Epochs.pptx
Steven McGee
 
Web Hosting for Shopify WooCommerce etc.
Harry_Phoneix Harry_Phoneix
 
PM200.pptxghjgfhjghjghjghjghjghjghjghjghjghj
breadpaan921
 
Slides PDF format Eco Economic Epochs.pdf
Steven McGee
 
Azure_DevOps introduction for CI/CD and Agile
henrymails
 
PE introd.pptxfrgfgfdgfdgfgrtretrt44t444
nepmithibai2024
 
ONLINE BIRTH CERTIFICATE APPLICATION SYSYTEM PPT.pptx
ShyamasreeDutta
 
Build Fast, Scale Faster: Milvus vs. Zilliz Cloud for Production-Ready AI
Zilliz
 
Agilent Optoelectronic Solutions for Mobile Application
andreashenniger2
 

青云CoreOS虚拟机部署kubernetes