±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚoschina.net£¬Ö÷ÒªÏÈ´ÓÕûÌåÉÏ¿´KubernetesµÄһЩÀíÄîºÍ»ù±¾¼Ü¹¹£¬
È»ºó´ÓÍøÂç¡¢×ÊÔ´¹ÜÀí¡¢´æ´¢¡¢·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢¸ß¿ÉÓá¢rolling upgrade¡¢°²È«¡¢¼à¿ØµÈ·½Ãæ½éÉÜKubernetesµÄÖ÷ÒªÌØÐÔ¡£ |
|
1.KubernetesµÄһЩÀíÄ
Óû§²»ÐèÒª¹ØÐÄÐèÒª¶àÉŲ̀»úÆ÷£¬Ö»ÐèÒª¹ØÐÄÈí¼þ£¨·þÎñ£©ÔËÐÐËùÐèµÄ»·¾³¡£ÒÔ·þÎñΪÖÐÐÄ£¬ÄãÐèÒª¹ØÐĵÄÊÇapi£¬ÈçºÎ°Ñ´ó·þÎñ²ð·Ö³ÉС·þÎñ£¬ÈçºÎʹÓÃapiÈ¥ÕûºÏËüÃÇ¡£
±£Ö¤ÏµÍ³×ÜÊǰ´ÕÕÓû§Ö¸¶¨µÄ״̬ȥÔËÐС£
²»½ö½öÌá¸øÄ㹩ÈÝÆ÷·þÎñ£¬Í¬ÑùÌṩһÖÖÈí¼þϵͳÉý¼¶µÄ·½Ê½£»ÔÚ±£³ÖHAµÄǰÌáÏÂÈ¥Éý¼¶ÏµÍ³ÊǺܶàÓû§×îÏëÒªµÄ¹¦ÄÜ£¬Ò²ÊÇ×îÄÑʵÏֵġ£
ÄÇЩÐèÒªµ£ÐĺͲ»ÐèÒªµ£ÐĵÄÊÂÇé¡£

¸üºÃµÄÖ§³Ö΢·þÎñÀíÄ»®·Ö¡¢Ï¸·Ö·þÎñÖ®¼äµÄ±ß½ç£¬±ÈÈçlablel¡¢podµÈ¸ÅÄîµÄÒýÈë¡£
´óÖÂÓÉһЩÖ÷Òª×é¼þ¹¹³É£¬°üÀ¨Master½ÚµãÉϵÄkube-apiserver¡¢kube-scheduler¡¢kube-controller-manager¡¢¿ØÖÆ×é¼þkubectl¡¢×´Ì¬´æ´¢etcd¡¢Slave½ÚµãÉϵÄkubelet¡¢kube-proxy£¬ÒÔ¼°µ×²ãµÄÍøÂçÖ§³Ö£¨¿ÉÒÔÓÃFlannel¡¢OpenVSwitch¡¢WeaveµÈ£©¡£
¿´ÉÏÈ¥Ò²ÊÇ΢·þÎñµÄ¼Ü¹¹Éè¼Æ£¬²»¹ýĿǰ»¹²»ÄܺܺÃÖ§³Öµ¥¸ö·þÎñµÄºáÏòÉìËõ£¬µ«Õâ¸ö»áÔÚ Kubernetes
µÄδÀ´°æ±¾Öнâ¾ö¡£
2.KubernetesµÄÖ÷ÒªÌØÐÔ
»á´ÓÍøÂç¡¢·þÎñ·¢ÏÖ¡¢¸ºÔؾùºâ¡¢×ÊÔ´¹ÜÀí¡¢¸ß¿ÉÓᢴ洢¡¢°²È«¡¢¼à¿ØµÈ·½ÃæÏò´ó¼Ò¼òµ¥½éÉÜKubernetesµÄÕâЩÖ÷ÒªÌØÐÔ
-> ÓÉÓÚʱ¼äÓÐÏÞ£¬Ö»Äܼòµ¥Ò»Ð©ÁË¡£
1£©ÍøÂç
KubernetesµÄÍøÂ緽ʽÖ÷Òª½â¾öÒÔϼ¸¸öÎÊÌ⣺
a. ½ôñîºÏµÄÈÝÆ÷Ö®¼äͨÐÅ£¬Í¨¹ý Pod ºÍ localhost ·ÃÎʽâ¾ö¡£
b. PodÖ®¼äͨÐÅ£¬½¨Á¢Í¨ÐÅ×ÓÍø£¬±ÈÈçËíµÀ¡¢Â·ÓÉ£¬Flannel¡¢Open vSwitch¡¢Weave¡£
c. PodºÍService£¬ÒÔ¼°ÍⲿϵͳºÍServiceµÄͨÐÅ£¬ÒýÈëService½â¾ö¡£
KubernetesµÄÍøÂç»á¸øÃ¿¸öPod·ÖÅäÒ»¸öIPµØÖ·£¬²»ÐèÒªÔÚPodÖ®¼ä½¨Á¢Á´½Ó£¬Ò²»ù±¾²»ÐèҪȥ´¦ÀíÈÝÆ÷ºÍÖ÷»úÖ®¼äµÄ¶Ë¿ÚÓ³Éä¡£
×¢Ò⣺PodÖØ½¨ºó£¬IP»á±»ÖØÐ·ÖÅ䣬ËùÒÔÄÚÍøÍ¨ÐŲ»ÒªÒÀÀµPod IP£»Í¨¹ýService»·¾³±äÁ¿»òÕßDNS½â¾ö¡£
2£© ·þÎñ·¢ÏÖ¼°¸ºÔؾùºâ
kube-proxyºÍDNS£¬ ÔÚv1֮ǰ£¬Serviceº¬ÓÐ×Ö¶Îportalip ºÍpublicIPs£¬
·Ö±ðÖ¸¶¨ÁË·þÎñµÄÐéÄâipºÍ·þÎñµÄ³ö¿Ú»úip£¬publicIPs¿ÉÈÎÒâÖ¸¶¨³É¼¯ÈºÖÐÈÎÒâ°üº¬kube-proxyµÄ½Úµã£¬¿É¶à¸ö¡£portalIp
ͨ¹ýNATµÄ·½Ê½Ìø×ªµ½containerµÄÄÚÍøµØÖ·¡£ÔÚv1°æ±¾ÖУ¬publicIPS±»Ô¼¶¨·Ï³ý£¬±ê¼ÇΪdeprecatedPublicIPs£¬½öÓÃ×÷Ïòºó¼æÈÝ£¬portalIpÒ²¸ÄΪClusterIp,
¶øÔÚservice port ¶¨ÒåÁбíÀÔö¼ÓÁËnodePortÏ¼´¶ÔÓ¦nodeÉÏÓ³ÉäµÄ·þÎñ¶Ë¿Ú¡£
DNS·þÎñÒÔaddonµÄ·½Ê½£¬ÐèÒª°²×°skydnsºÍkube2dns¡£kube2dns»áͨ¹ý¶ÁÈ¡Kubernetes
API»ñÈ¡·þÎñµÄclusterIP ºÍportÐÅÏ¢£¬Í¬Ê±ÒÔwatch µÄ·½Ê½¼ì²éserviceµÄ±ä¶¯£¬¼°Ê±ÊÕ¼¯±ä¶¯ÐÅÏ¢£¬²¢½«¶ÔÓÚµÄipÐÅÏ¢Ìá½»¸øetcd´æµµ£¬¶øskydnsͨ¹ýetcdÄÚµÄDNS¼Ç¼ÐÅÏ¢£¬¿ªÆô53¶Ë¿Ú¶ÔÍâÌṩ·þÎñ¡£´ó¸ÅµÄDNSµÄÓòÃû¼Ç¼ÊÇservicename
. namespace .tenx .domain , " tenx.domain"
ÊÇÌáǰÉèÖõÄÖ÷ÓòÃû¡£
×¢Ò⣺kube-proxy ÔÚ¼¯Èº¹æÄ£½Ï´óÒԺ󣬿ÉÄÜ»áÓзÃÎʵÄÐÔÄÜÎÊÌ⣬¿ÉÒÔ¿¼ÂÇÓÃÆäËû·½Ê½Ìæ»»£¬±ÈÈç
HAProxy£¬Ö±½Óµ¼Á÷µ½Service µÄ endpints »òÕß Pods ÉÏ¡£Kubernetes
¹Ù·½Ò²ÔÚÐÞ¸´Õâ¸öÎÊÌâ¡£
3£©×ÊÔ´¹ÜÀí
ÓÐ3 ¸ö²ã´ÎµÄ×ÊÔ´ÏÞÖÆ·½Ê½£¬·Ö±ðÔÚContainer¡¢Pod¡¢Namespace
²ã´Î¡£Container²ã´ÎÖ÷ÒªÀûÓÃÈÝÆ÷±¾ÉíµÄÖ§³Ö£¬±ÈÈçDocker ¶ÔCPU¡¢ÄÚ´æ ¡¢´ÅÅÌ¡¢ÍøÂçµÈµÄÖ§³Ö£»Pod·½Ãæ¿ÉÒÔÏÞÖÆÏµÍ³ÄÚ´´½¨PodµÄ×ÊÔ´·¶Î§£¬±ÈÈç×î´ó»òÕß×îСµÄCPU¡¢memoryÐèÇó£»Namespace²ã´Î¾ÍÊǶÔÓû§¼¶±ðµÄ×ÊÔ´ÏÞ¶îÁË£¬°üÀ¨CPU¡¢Äڴ棬»¹¿ÉÒÔÏÞ¶¨Pod¡¢rc¡¢serviceµÄÊýÁ¿¡£
×ÊÔ´¹ÜÀíÄ£ÐÍ £¡· ¼òµ¥¡¢Í¨Óá¢×¼È·£¬²¢¿ÉÀ©Õ¹
ĿǰµÄ×ÊÔ´·ÖÅ伯ËãÒ²Ïà¶Ô¼òµ¥£¬Ã»ÓÐʲô×ÊÔ´ÇÀÕ¼Ö®ÀàµÄÇ¿´ó¹¦ÄÜ£¬Í¨¹ýÿ¸ö½ÚµãÉϵÄ×ÊÔ´×ÜÁ¿¡¢ÒÔ¼°ÒѾʹÓõĸ÷ÖÖ×ÊÔ´¼ÓȨºÍ£¬À´¼ÆËãij¸öPodÓÅÏÈ·ÇÅäµ½ÄÄЩ½Úµã£¬»¹Ã»ÓмÓÈë¶Ô½Úµãʵ¼Ê¿ÉÓÃ×ÊÔ´µÄÆÀ¹À£¬ÐèÒª×Ô¼ºµÄscheduler
pluginÀ´Ö§³Ö¡£ÆäʵkubeletÒѾ¿ÉÒÔÄõ½½ÚµãµÄ×ÊÔ´ £¬Ö»Òª½øÐÐÊÕ¼¯¼ÆËã¼´¿É£¬ÏàÐÅKubernetesµÄºóÐø°æ±¾»áÓÐÖ§³Ö¡£
4£©¸ß¿ÉÓÃ
Ö÷ÒªÊÇÖ¸Master½ÚµãµÄ HA·½Ê½ ¹Ù·½ÍƼö ÀûÓÃetcdʵÏÖmaster Ñ¡¾Ù£¬´Ó¶à¸öMasterÖеõ½Ò»¸ökube-apiserver
±£Ö¤ÖÁÉÙÓÐÒ»¸ömaster¿ÉÓã¬ÊµÏÖhigh availability¡£¶ÔÍâÒÔloadbalancerµÄ·½Ê½ÌṩÈë¿Ú¡£ÕâÖÖ·½Ê½¿ÉÒÔÓÃ×÷ha£¬µ«ÈÔδ³ÉÊ죬¾ÝÁ˽⣬δÀ´»á¸üÐÂÉý¼¶haµÄ¹¦ÄÜ¡£
Ò»ÕÅͼ°ïÖú´ó¼ÒÀí½â£º

Ò²¾ÍÊÇÔÚetcd¼¯Èº±³¾°Ï£¬´æÔÚ¶à¸ökube-apiserver£¬²¢ÓÃpod-master±£Ö¤½öÊÇÖ÷master¿ÉÓá£Í¬Ê±kube-shedullerºÍkube-controller-managerÒ²´æÔÚ¶à¸ö£¬¶øÇÒ°éËæ×Åkube-apiserver
ͬһʱ¼äÖ»ÄÜÓÐÒ»Ì×ÔËÐС£
5£© rolling upgrade
RC ÔÚ¿ªÊ¼µÄÉè¼Æ¾ÍÊÇÈÃrolling upgrade±äµÄ¸üÈÝÒ×£¬Í¨¹ýÒ»¸öÒ»¸öÌæ»»PodÀ´¸üÐÂservice£¬ÊµÏÖ·þÎñÖжÏʱ¼äµÄ×îС»¯¡£»ù±¾Ë¼Â·ÊÇ´´½¨Ò»¸ö¸´±¾Îª1µÄеÄrc£¬²¢Öð²½¼õÉÙÀϵÄrcµÄ¸´±¾¡¢Ôö¼ÓеÄrcµÄ¸´±¾£¬ÔÚÀϵÄrcÊýÁ¿Îª0ʱ½«Æäɾ³ý¡£
ͨ¹ýkubectlÌṩ£¬¿ÉÒÔÖ¸¶¨¸üеľµÏñ¡¢Ìæ»»podµÄʱ¼ä¼ä¸ô£¬Ò²¿ÉÒÔrollback µ±Ç°ÕýÔÚÖ´ÐеÄupgrade²Ù×÷¡£
ͬÑù£¬ KuberntesÒ²Ö§³Ö¶à°æ±¾Í¬Ê±²¿Ê𣬲¢Í¨¹ýlableÀ´½øÐÐÇø·Ö£¬ÔÚservice²»±äµÄÇé¿öÏ£¬µ÷ÕûÖ§³Å·þÎñµÄPod£¬²âÊÔ¡¢¼à¿ØÐÂPodµÄ¹¤×÷Çé¿ö¡£

6£©´æ´¢
´ó¼Ò¶¼ÖªµÀÈÝÆ÷±¾ÉíÒ»°ã²»»á¶ÔÊý¾Ý½øÐг־û¯´¦Àí£¬ÔÚKubernetesÖУ¬ÈÝÆ÷Òì³£Í˳ö£¬kubeletÒ²Ö»ÊǼòµ¥µÄ»ùÓÚÔÓоµÏñÖØÆôÒ»¸öеÄÈÝÆ÷¡£ÁíÍ⣬Èç¹ûÎÒÃÇÔÚͬһ¸öPodÖÐÔËÐжà¸öÈÝÆ÷£¬¾³£»áÐèÒªÔÚÕâЩÈÝÆ÷Ö®¼ä½øÐй²ÏíһЩÊý¾Ý¡£Kuberenetes
µÄ Volume¾ÍÊÇÖ÷ÒªÀ´½â¾öÉÏÃæÁ½¸ö»ù´¡ÎÊÌâµÄ¡£
Docker Ò²ÓÐVolumeµÄ¸ÅÄµ«ÊÇÏà¶Ô¼òµ¥£¬¶øÇÒĿǰµÄÖ§³ÖºÜÓÐÏÞ£¬Kubernetes¶ÔVolumeÔòÓÐ×ÅÇåÎú¶¨ÒåºÍ¹ã·ºµÄÖ§³Ö¡£ÆäÖÐ×îºËÐĵÄÀíÄî
£ºVolumeÖ»ÊÇÒ»¸öĿ¼£¬²¢¿ÉÒÔ±»ÔÚͬһ¸öPodÖеÄËùÓÐÈÝÆ÷·ÃÎÊ¡£¶øÕâ¸öĿ¼»áÊÇʲôÑù£¬ºó¶ËÓÃʲô½éÖʺÍÀïÃæµÄÄÚÈÝÔòÓÉʹÓõÄÌØ¶¨VolumeÀàÐ;ö¶¨¡£
´´½¨Ò»¸ö´øVolumeµÄPod£º

spec.volumes Ö¸¶¨Õâ¸öPodÐèÒªµÄvolumeÐÅÏ¢ spec.containers.volumeMounts
Ö¸¶¨ÄÄЩcontainerÐèÒªÓõ½Õâ¸öVolume Kubernetes¶ÔVolumeµÄÖ§³Ö·Ç³£¹ã·º£¬Óкܶ๱Ï×ÕßΪÆäÌí¼Ó²»Í¬µÄ´æ´¢Ö§³Ö£¬Ò²·´Ó³³öKubernetesÉçÇøµÄ»îÔ¾³Ì¶È¡£
emptyDir ËæPodɾ³ý£¬ÊÊÓÃÓÚÁÙʱ´æ´¢¡¢ÔÖÄѻָ´¡¢¹²ÏíÔËÐÐʱÊý¾Ý£¬Ö§³Ö RAM-backed
filesystemhostPath ÀàËÆÓÚDockerµÄ±¾µØVolume ÓÃÓÚ·ÃÎÊһЩ±¾µØ×ÊÔ´£¨±ÈÈç±¾µØDocker£©¡£
gcePersistentDisk GCE disk - Ö»ÓÐÔÚ Google Cloud Engine
ƽ̨ÉÏ¿ÉÓá£
awsElasticBlockStore ÀàËÆÓÚGCE disk ½Úµã±ØÐëÊÇ AWS EC2µÄʵÀý
nfs - Ö§³ÖÍøÂçÎļþϵͳ¡£
rbd - Rados Block Device - Ceph
secret ÓÃÀ´Í¨¹ýKubernetes API ÏòPod ´«µÝÃô¸ÐÐÅÏ¢£¬Ê¹Óà tmpfs £¨a
RAM-backed filesystem£©
persistentVolumeClaim - ´Ó³éÏóµÄPVÖÐÉêÇë×ÊÔ´£¬¶øÎÞÐè¹ØÐÄ´æ´¢µÄÌṩ·½
glusterfs
iscsi
gitRepo
¸ù¾Ý×Ô¼ºµÄÐèÇóÑ¡ÔñºÏÊʵĴ洢ÀàÐÍ£¬·´ÕýÖ§³ÖµÄ¹»¶à£¬×ÜÓÃÒ»¿îÊÊºÏµÄ :)
7£©°²È«
һЩÖ÷ÒªÔÔò£º
1.»ù´¡Éèʩģ¿éÓ¦¸Ãͨ¹ýAPI server½»»»Êý¾Ý¡¢ÐÞ¸Äϵͳ״̬£¬¶øÇÒÖ»ÓÐAPI
server¿ÉÒÔ·ÃÎʺó¶Ë´æ´¢£¨etcd£©¡£
2.°ÑÓû§·ÖΪ²»Í¬µÄ½ÇÉ«£ºDevelopers/Project Admins/Administrators¡£
3.ÔÊÐíDevelopers¶¨Òåsecrets ¶ÔÏ󣬲¢ÔÚpodÆô¶¯Ê±¹ØÁªµ½Ïà¹ØÈÝÆ÷¡£
ÒÔsecret ΪÀý£¬Èç¹ûkubeletҪȥpull ˽ÓоµÏñ£¬ÄÇôKubernetesÖ§³ÖÒÔÏ·½Ê½£º
1.ͨ¹ýdocker login Éú³É .dockercfg Îļþ£¬½øÐÐÈ«¾ÖÊÚȨ¡£
2.ͨ¹ýÔÚÿ¸önamespaceÉÏ´´½¨Óû§µÄsecret¶ÔÏó£¬ÔÚ´´½¨Podʱָ¶¨
imagePullSecrets ÊôÐÔ£¨Ò²¿ÉÒÔͳһÉèÖÃÔÚserviceAcouunt ÉÏ£©£¬½øÐÐÊÚȨ¡£
ÈÏÖ¤ £¨Authentication£©
API server Ö§³ÖÖ¤Êé¡¢token¡¢ºÍ»ù±¾ÐÅÏ¢ÈýÖÖÈÏÖ¤·½Ê½¡£
ÊÚȨ £¨Authorization£©
ͨ¹ýapiserverµÄ°²È«¶Ë¿Ú£¬authorization»áÓ¦Óõ½ËùÓÐhttpµÄÇëÇóÉÏ
AlwaysDeny¡¢AlwaysAllow¡¢ABACÈýÖÖģʽ£¬ÆäËûÐèÇó¿ÉÒÔ×Ô¼ºÊµÏÖAuthorizer½Ó¿Ú¡£
8£©¼à¿Ø
±È½ÏÀϵİ汾KubernetesÐèÒªÍâ½ÓcadvisorÖ÷Òª¹¦ÄÜÊǽ«nodeÖ÷»úµÄcontainer
metricsץȡ³öÀ´¡£ÔÚ½Ïеİ汾Àcadvior¹¦Äܱ»¼¯³Éµ½ÁËkubelet×é¼þÖУ¬kubeletÔÚÓëdocker½»»¥µÄͬʱ£¬¶ÔÍâÌṩ¼à¿Ø·þÎñ¡£
Kubernetes¼¯Èº·¶Î§ÄÚµÄ¼à¿ØÖ÷ÒªÓÉkubelet¡¢heapsterºÍstorage backend£¨Èçinfluxdb£©¹¹½¨¡£Heapster¿ÉÒÔÔÚ¼¯Èº·¶Î§»ñÈ¡metricsºÍʼþÊý¾Ý¡£Ëü¿ÉÒÔÒÔpodµÄ·½Ê½ÔËÐÐÔÚk8sƽ̨ÀҲ¿ÉÒÔµ¥¶ÀÔËÐÐÒÔstandaloneµÄ·½Ê½¡£
×¢Ò⣺ heapsterĿǰδµ½1.0°æ±¾£¬¶ÔÓÚС¹æÄ£µÄ¼¯Èº¼à¿Ø±È½Ï·½±ã¡£µ«¶ÔÓڽϴó¹æÄ£µÄ¼¯Èº£¬heapsterĿǰµÄcache·½Ê½»á³Ôµô´óÁ¿ÄÚ´æ¡£ÒòΪҪ¶¨Ê±»ñÈ¡Õû¸ö¼¯ÈºµÄÈÝÆ÷ÐÅÏ¢£¬ÐÅÏ¢ÔÚÄÚ´æµÄÁÙʱ´æ´¢³ÉΪÎÊÌ⣬ÔÙ¼ÓÉÏheaspter
ÒªÖ§³Öapi »ñÈ¡ÁÙʱ metrics£¬Èç¹û½«heapster ÒÔpod ·½Ê½ÔËÐУ¬ºÜÈÝÒ׳öÏÖOOM¡£ËùÒÔĿǰ½¨Ò鹨µôcache
²¢ÒÔ standalone µÄ·½Ê½¶ÀÁ¢³ök8sƽ̨¡£
Q&A
ÎÊ£ºkubelet±¾ÉíÒ²ÅÜÔÚpodÀïÂð£¿
´ð£º¿ÉÒÔÅÜÔÚÈÝÆ÷ÀҲ¿ÉÒÔÅÜÔÚhostÉÏ£¬¿ÉÒÔ³¢ÊÔhyperkubeµÄ¼¯³É¹¤¾ß¡£
ÎÊ£ºroollbackµÄ¾ßÌå»úÖÆÊÇ£¿
´ð£º¸Ð¾õÓ¦¸Ãͨ¹ýlablel£¬ÔÙÒ»¸ö¸öÌæ»»ÒѾÉý¼¶µÄpod£¬²»¹ý»¹Ã»×ÐϸÑо¿¹ý¡£
ÎÊ£ºMesosºÍKubernetesµ½µ×ÓÐÊ²Ã´Çø±ð£¿¸Ð¾õÓкܶàÖØºÏµÄµØ·½¡£
´ð£ºMesosºÍKubernetes²àÖØµã²»Í¬£¬È·ÊµÓÐÒ»Ð©ÖØºÏµÄµØ·½£»mesos¸üÉó¤×ÊÔ´¹ÜÀí£¬Ö§³ÖÉϲãframework£¬k8sÔÉúΪÈÝÆ÷Éè¼Æ£¬¸ü¹Ø×¢appÏà¹ØµÄһЩÎÊÌâ¡£
ÎÊ£º¡°±ÈÈçÓÃHAProxy£¬Ö±½Óµ¼Á÷µ½serviceµÄendpoints»òÕßPods ÉÏ¡±£¬haproxyÈçºÎµ¼Á÷µ½PodÉÏ£¬podIP²»ÊDz»¹Ì¶¨µÄÂð£¿
´ð£º¿ÉÒÔͨ¹ýwatch etcd»òÕßapi serverµÄ·½Ê½£¬¼àÌý±ä»¯À´¸üÐÂhaproxy£»kubeproxy¸ÄÓÃhaproxy£¬Ö»ÊÇexternal
loadbalancerµÄ·½Ê½£»Èç¹ûÒªÌæ»»£¬ÐèÒªÖØÐ¿ª·¢¡£
ÎÊ£ºÓÐûÓпÉÒÔÍÆ¼öµÄ·Ö²¼Ê½Volume·½°¸£¿ÄãÃÇʹÓÃÆðÀ´ÐÔÄÜÈçºÎ£¿
´ð£º·Ö²¼Ê½volume£¬¿ÉÒÔ³¢ÊÔrbd£¬ÐÔÄܵϰ¾ÍÐèÒª×Ô¼º¶à¶à²âÊÔ£¬²»¶Ïµ÷ÓÅÁË£»ÓÐÓû§Ìáµ½ÔÚʹÓÃmoosefs×ö´æ´¢£¬¶ÔglusterfsµÄÖ§³ÖÒ²ºÜ¶à¡£
ÎÊ£ºk8sµÄ²å¼þ¹æ·¶Â𣿻¹ÊÇÖ±½ÓÓ²¸Ä£¿
´ð£ºÓÐЩ»¹ÊDZȽϹ淶µÄ£¬¿ÉÒÔplugin·½Ê½£»ÓÐЩ»¹ÐèÒªºóÐø°æ±¾µÄµ÷Õû£¬·ñÔòÒª¶¯Ô´ÂëÁË¡£
ÎÊ£º k8s ÈçºÎ¼àÌýdocker µÄʼþ£¬±ÈÈ磺ÔÚÒâÍâÍ˳öǰ£¬ÏëÅ׳öһЩ¶îÍâµÄʼþ£¬Í¨ÖªlbÈçºÎ×ö£¿
´ð£º²»È·¶¨Õâ¸öÊǼàÌýdockerµÄÄÄЩʼþ£¬ÔÙpod£¬rc²ãÃæ¿ÉÒÔ½øÐÐwatch¡£
ÎÊ£º k8sÈçºÎÉèÖø÷¸öpodµÄÒÀÀµºÍÆô¶¯Ë³Ðò£¿
´ð£ºÄ¿Ç°Ã»¿´µ½ºÜºÃµÄ¿ØÖÆPodµÄÒÀÀµºÍÆô¶¯Ë³ÐòµÄ»úÖÆ ¿ÉÒÔÔÚÓ¦ÓòãÃæ±ÜÃâÕâЩÒÀÀµºÍ˳ÐòÎÊÌâ¡£
ÎÊ£ºÎÊÒ»ÏÂk8s ¼¯ÈºÄÚ²¿ÈÝÆ÷¼äÍøÂçÕâ¿éµÄ½â¾ö·½°¸ÓÐÄÄЩ£¬ÀàËÆflannelÕâÀà·½°¸µÄÐÔÄÜÎÊÌâÓÐʲôºÃµÄ½â¾ö·½°¸£¿
´ð£ºÄ¿Ç°flannelÓÐÆäËûµÄÌæ´ú·½°¸£¬µ«flannel²¿Êð±È½Ï·½±ã£¬Ìù½üKubernetesµÄÕûÌ幤×÷ģʽ£»ÐÔÄÜÉÏ£¬Èç¹û×öÁª»úÄÚÍø£¬×Ü»áÓÐËðºÄ£¬Õâ¸öÐèҪȡÉáÁË£»ÓÐÓû§·´Ó³£¬»ªÎªµÄ²âÊÔ½á¹û˵ovs±ÈflannelºÃ£¬µ«ÊÇ×Ô¼ºÃ»ÓÐʵ¼Ê²âÊÔ¹ý£»flannelµÄÐÔÄÜ¿ÉÒÔ¿´coreos¹ÙÍøµÄblog£¬ÉÏÃæÓвâÊÔ±¨¸æ¡£
ÎÊ£ºÏÈÓÃÈÝÆ÷×öÇáÁ¿¼¶ÐéÄâ»ú£¬ÈÝÆ÷¼ä¿ÉÒÔͨ¹ýhsotname·ÃÎÊ£¬²»ÖªÈçºÎ¶¯ÊÖ£¿
´ð£ºk8ÉϵÄÄÚÍøDNS£¨kube2dns + skydns£© Ó¦¸Ã¿ÉÒÔÂú×ãÐèÇ󣬿ÉÒÔ³¢ÊÔһϡ£
|