ÔÚ¹«Ë¾ÄÚ²¿£¬»ùÓÚkubernetesʵÏÖÁ˼òµ¥µÄdockerÓ¦Óü¯ÈºÏµÍ³£¬ÄóöÀ´ºÍ´ó¼Ò·ÖÏíÏ£¬ÔÚÕâ¸öϵͳÖУ¬ÊµÏÖÁËÓ¦ÓõÄ×Ô¶¯²¿Êð¡¢¶¯Ì¬À©ÈÝ¡¢½ÚµãÇл»¡¢½¡¿µ¼ì²é¡¢ABʽ°æ±¾¸üеȹ¦ÄÜ£¬Ò²»¶Ó´ó¼Ò½«¸÷×ÔµÄʵÏÖÒ²·ÖÏí¸øÎÒ¡£
ÕûÌå¼Ü¹¹
ÕûÌå¼Ü¹¹ÈçÏÂͼ£º

ÆäÖзÖΪ·ÖΪÕ⼸¸ö¿é£º
1.APPBuilder£º Ó¦Óù¹½¨Ä£¿é£¬¸ºÔð½«app´ò°ü³Édockerimage£¬²¢Èëimage°æ±¾¿â£»
2.container£º ÈÝÆ÷ÔËÐУ¬dockerÈÝÆ÷ʵ¼ÊÔËÐеĵط½£»
3.thirdPart£º Ó¦ÓÃÒÀÀµµÄµÚÈý·½×ÊÔ´£¬Èçredis¡¢mysqlµÈ£»
4.scheduler£º µ÷¶Èϵͳ£¬ºËÐIJ¿·Ö£¬¸ºÔð¸÷¸ö×ÓÄ£¿éµÄÖÇÄܵ÷¶È£»
5.router£º »ùÓÚ7²ãµÄÇëÇó·Ö·¢£¬¸ù¾Ýurl½«ÇëÇó·Ö·¢µ½¶ÔÓ¦µÄappÈÝÆ÷£»
6.nats£º »ùÓÚ4²ãµÄ¸ºÔؾùºâ£¬£¬½«Á÷Á¿¸ºÔؾùºâµ½router¼¯Èº£»
7.healthManage£º ½¡¿µ¼ì²éϵͳ£¬°üÀ¨Á˶Ôrouter rules¡¢ÈÝÆ÷״̬¡¢ÎïÀí»ú״̬µÈ¸÷¸ö×ÓÄ£¿é½¡¿µµÄ¼ì²é£¬²¢×öÏàÓ¦²¹¾Èaction£»
8.logÄ£¿é£º ͳһ´¦ÀíappËù²úÉúµÄÈÕÖ¾£»
scheduler
Ê×ÏÈÏȽéÉÜÏÂ×îÖØÒªµÄ²¿·Ö£¬Ê¹ÓÃkubernetes×÷Ϊ¼¼ÊõʵÏÖ£¬¹ØÓÚ½éÉܺͲ¿Êð¿ÉÒԲο¼Ö®Ç°µÄ
blog£ºkubernetes 0.18.1 °²×° & ²¿Êð & ³õÊÔ£¬²»¹ýÕâ¸öÎĵµÖÐÖ»Óе¥»úµÄmaster-slave£¬²»Ì«·ûºÏÏßÉÏʹÓã¬ÎÒÃÇÔÚ´Ë»ù´¡ÉÏ×öÁËÒÔÏÂÉý¼¶£º
1.²¿Êðetcd¼¯Èº£¬¾ßÌå¹ý³Ì¿ÉÒԲο¼etcd¹Ù·½£ºClustering
Guide
2.²¿Êðkubernetes master cluster£¬·Ö±ð²¿ÊðÓÐ
kube-apiserver£¬kube-scheduler£¬kube-controller-manager£»
3.Ôö¼Ó¶Ôkubernetes·ÃÎ浀 ÈÏÖ¤ & ÊÚȨ£¬ ¾ßÌå¿É²Î¿¼ÎÒ֮ǰµÄblog£¬|
72fb2910302a12da3b6c7d219f31484c3 |£¬ | 72fb2910302a12da3b6c7d219f31484c4
| £¬ kubernetesÖеÄAdmission Controllers
4.¹Ø±Õkube masterµÄ·Ç°²È«¶Ë¿Ú·ÃÎÊ£¬¹Ø±Õ insecure-port,¿ªÆôsecure-port£¬²¢¶Ôkubernetes
secure api·ÃÎÊÔö¼Óǰ¶Ë¸ºÔؾùºâ£¬ÈçÔÚblog kubernetes ʵÓà api list Ëùʾ£¬·ÃÎʾÍÊÇͨ¹ýÈÏÖ¤&httpsÇëÇóapi£¨µ±È»ÁËÆäÖеÄÐÅÏ¢¶¼ÊǼٵ쬵«ÊǸñʽ²»±ä£©£»
5.ÉèÖÃÏà¹ØµÄ·ÃÎÊȨÏÞ£¬È磬kube slave½ÚµãÖ»ÔÊÐíÀ´×Ôkube-master½ÚµãµÄiP·ÃÎÊ£¬kube-masterÖ»ÔÊÐí¾ßÓвÙ×÷ȨÏ޵ĻúÆ÷½ÚµãµÄip·ÃÎʵȵȣ»
6.¶Ôkubernetes master×ÓÄ£¿éµÄ²ÎÊý×ö·ûºÏÎÒÃÇÒªÇóµÄµ÷ÕûµÈ£»
¸½ÉÏÖÆ×÷https˽ÓÐkey&Ö¤ÊéµÄ·½·¨£º
openssl genrsa -aes256 -out ca-key.pem 2048 |
openssl req -new -x509 -days 3650 -key
ca-key.pem -sha256 -out ca.pem £¨ÔÚÌáʾÊäÈëCommon Nameʱ£¬ÊäÈëhttps·ÃÎʵÄhost£¬Èç10.10.5.103£©
openssl genrsa -out server-key.pem 2048
openssl req -subj "/CN=10.10.5.103"
-new -key server-key.pem -out server.csr
echo subjectAltName = IP:10.10.5.103,IP:127.0.0.1 > extfile.cnf |
openssl x509 -req -days 3650 -in server.csr
-CA ca.pem -CAkey ca-key.pem \
-CAcreateserial -out **server-cert.pem** -extfile extfile.cnf |
²úÉúÈý¸öÎļþ£º ca-key.pem£¬server-key.pem£¬server-cert.pem
ÉèÖÃkube-apiserver²ÎÊý£º
--tls-cert-file=./server-cert.pem \--tls-private-key-file=./server-key.pem |
ÔÚclient·ÃÎÊʱ£¬Í¨¹ýca-key.pemÀ´½øÐзÃÎÊ
container
¶ÔÓÚcontainer½Úµã£¬Ã»Ê²Ã´ºÃ˵µÄ£¬Æäʵ¾ÍÊÇkubernetes
slave½Úµã£¬²¿ÊðÓУºkube-proxy£¬ kubelet£¬docker¡£
ûÓÐʲôºÃ˵µÄ£¬Ö÷ÒªÊǶԸö±ð²ÎÊý×öÁ˵÷ÕûµÈµÈ¡£
Router
ÎÒÃÇÑ¡ÓÃgorouter×÷ΪÆß²ã·ÓÉת·¢¹¤¾ß£¬²¢½«Æä´î½¨Æðcluster£¬²¿Êð¼ûblog
gorouter °²×°²¿Êð, ²»¹ýÔÚÉèÖÃrulesµÄÉúÃüÖÜÆÚʱ£¬ÎÒÃǽ«ÖÜÆÚÉ趨ΪÓÀ¾Ã£¬Èç¹û·¢ÉúrulesʧЧ£¬Í¨¹ýhealthCheckÀ´É¾µôÒÑʧЧµÄrule¡£
nats
ËÄ²ã¸ºÔØ¾ùºâ£¬¾ÍºÜͳһÁË£¬¿ªÔ´µÄ¿ÉÒÔʹÓÃLVS£¬ÍÁºÀµÄ¿ÉÒÔʹÓÃF5£¬ÎÒÃÇÊÇÍÁºÀ£¬ÎÒÃÇʹÓõÄÊÇF5.
ThirdPart
ΪappÓ¦ÓÃËùÒÀÀµµÄmysql¡¢redisµÈ£¬ÓÐרÃŵÄͯЬ¸ºÔðά»¤£¬¶ÌÆÚÄÚ²»¿¼ÂǺÍkubernetes¡¢docker½áºÏ¡£
APP Builder
¸ºÔðÓ¦ÓõľµÏñ´ò°ü£¬ÎÒÃÇÕâÀïÑ¡Óà jekins ×÷ΪʹÓõŤ¾ß£¬Ã¿´ÎappÉÏÏßǰ£¬Ê×ÏÈÒªÏȹ¹½¨´Ëapp
°æ±¾µÄdockerimage£¬push µ½Ë½ÓеÄdocker-registry¡£Ö®ºóµÄÉý¼¶²Ù×÷Á÷³ÌÈçÏ£º

Ö´ÐÐABÉÏÏß
Èç¹ûÊǻعöҲʮ·Ö·½±ã£¬½«ÉÏÒ»¸ö°æ±¾ÔÚ×ßÒ»´ÎÕâ¸öÁ÷³Ì¼´¿É£¬¶ÔÓ¦ÓÃʹÓÃÕßÀ´Ëµ£¬Ã»ÓÐÈκÎÖն˸ÐÖª£¬µ±ABÁ½¸ö°æ±¾¶¼ÉúЧºó£¬½«ABÁ½¸ö°æ±¾µÄrule¶¼¼ÓÈërouter£¬ÔÚ½«A°æ±¾µÄrouterϵô£¬¾ÍÍê³ÉÁËÉÏÏß/»Ø¹öµÄ²Ù×÷¡£
´úÂëµØÖ·ÉÔºó·Å³ö¡£
health Manage
½¡¿µ¼à¿Ø¼ì²é£¬¿ÉÒÔ˵ÊǼ¯ÈºÖÐ×îÖØÒªµÄÒ»²¿·ÖÁË¡£
ÎÒÃÇÔÚÕâÀïûÓÐʹÓÃkubernetesÍÆ¼öµÄ·½Ê½£¬ÎÒÃÇ×Ô¼º½«ÆäÓëÄÚ²¿µÄzabbixϵͳ×öÁ˽áºÏ£¬Í¨¹ýzabbixÀ´¶ÔÕû¸ö¼¯Èº½øÐÐ¼à¿Ø¡¢±¨¾¯¡¢×Ô¶¯»¯²Ù×÷¡£
1.¶ÔÓÚkubernetes master£¬¼à¿ØÏîÓУº
a.kuber-apiserverµÄ״̬£»
b.kube-controller-managerµÄ״̬£»
c.kube-schedulerµÄ״̬£»
d.kubernetesÖÐnamespace¡¢replicationcontroller¡¢service¡¢podsµÈÖ÷Òª×ÊÔ´µÄÊýÁ¿&״̬±ä»¯£»
2.¶ÔÓÚkubernetes slave£¨¼´container½Úµã£©£¬¼à¿ØÏîÓУº
a.kubelet½¡¿µ×´Ì¬£»
b.kube-proxy½¡¿µ×´Ì¬£»
c.docker µÄdataspace¡¢metadataspace ʹÓÃÇé¿ö£»
d.µ±Ç°½ÚµãÔËÐÐÈÝÆ÷µÄÐÅÏ¢£¬°üÀ¨ÁËÈ«²¿ÊýÁ¿¡¢ÕýÔÚÔËÐеÄÊýÁ¿¡¢°æ±¾µÈ£»
3.¶ÔÓÚdockerÈÝÆ÷±¾Éí£¬¿É²Î¿¼blog Docker ¼à¿ØµÄÒ»µãÏë·¨
£¬¼à¿ØÏîÓУº
a.´´½¨Ê±¼ä & ÐÅÏ¢²ÎÊý£»
b.ÈÝÆ÷ÔËÐÐ״̬£»
c.ÈÝÆ÷ÄÚ´æ¡¢cpu¡¢Á÷Á¿Çé¿ö£»
4.»¹ÓÐÒ»¸öÖØµãÊǶÔrouter¼°Æärule×öÖØµã¼à¿Ø£º
a.¼ì²éËùÓÐrouterµÄÔËÐÐ״̬£»
b.¼à¿ØËùÓÐnode״̬£¬Èç¹û·Ç½¡¿µ£¬¼°Ê±É¾³ýrouterÖÐËùÒÔÖ¸Ïò´ËnodeµÄrules£»
c.¼ì²éËùÓеÄpods¼°¶ÔÓ¦µÄrule£¬Èç¹ûpodsÖеÄapp·þÎñʧЧ
»òÕß Ã»ÓжÔÓ¦µÄruleÖ¸Ïòpods£¨±ÈÈçnode½ÚµãË𻵣¬ÆäÔÓеÄpodÒÆ¶¯µ½ÐÂnode½Úµã£©£¬´ËʱΪpod¸üÐÂrouterÖеÄrule£»
log
¶ÔÓÚÈÕÖ¾Õâ¿é£¬Òµ½çһֱûÓÐÒ»ÏîͳһµÄ×ö·¨£¬ÔÚÕâÀïÎÒÃǵÄ×ö·¨ÊÇͨ¹ý͸´«µÄ·½Ê½£¬½«ÈÝÆ÷ÖеÄÈÕÖ¾»ã×ܵ½ËÞÖ÷»ú£¬ÔÚ½øÐнøÒ»²½µÄ´¦Àí£º
1.ͳһÁËËùÓнÓÈëϵͳµÄappµÄÈÕÖ¾¹æ·¶£¬°üÀ¨ÁËÈÕÖ¾¸ñʽ¡¢ÈÕ־·¾¶£»
2.½«ÈÝÆ÷ÖÐÓ¦ÓõÄÈÕÖ¾¸ù¾ÝappµÄ²»Í¬Ó³Éäµ½ËÞÖ÷»úÖÐÖ¸¶¨µÄ·¾¶£»
3.½áºÏ flume£¬ kafka£¬ influxDB »¹ÓÐÆäËûһЩ×é¼þ£¨
ÈÕ־ϵͳ¾µäµÄ ELK×éºÏ£©£¬½«Ó¦ÓõÄÈÕÖ¾½øÐлã×Ü£¬·½±ãRDͬѧ¶ÔÈÕÖ¾½øÐд¦Àí¡£
ĿǰÏȼòµ¥½éÉܵ½ÕâÀÉÔºóÈçÓпÉÄÜÔÙ½«¾ßÌåʵÏÖϸ½Ú·Å³ö¡£ |