锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV综合永久无码精品天堂,久久精品国产亚洲AV无码娇色,亚洲毛片在线观看http://m.tkk7.com/xiaomage234/category/55128.html鐢熷懡鏈氨鏄竴嬈″噭緹庣殑婕傛祦錛岃蹇嗕腑鏀句笉涓嬬殑錛屾案榪滄槸瀛╂彁鏃朵唬鐨勯偅涓浠芥氮婕笌綰湡錛?/description>zh-cnTue, 25 Oct 2016 06:31:05 GMTTue, 25 Oct 2016 06:31:05 GMT60閮ㄧ講縐佹湁Docker Registryhttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431924.html灝忛┈姝?/dc:creator>灝忛┈姝?/author>Tue, 25 Oct 2016 06:24:00 GMThttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431924.htmlhttp://m.tkk7.com/xiaomage234/comments/431924.htmlhttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431924.html#Feedback0http://m.tkk7.com/xiaomage234/comments/commentRss/431924.htmlhttp://m.tkk7.com/xiaomage234/services/trackbacks/431924.html

鏉ヨ嚜錛?nbsp;http://tonybai.com/2016/02/26/deploy-a-private-docker-registry/

瀹夎閮ㄧ講涓涓鏈夌殑Docker Registry鏄紩鍏ャ佸涔?fàn)鍜屼娇鐢?nbsp;Docker 榪欓棬鎶鏈殑蹇呯粡涔嬭礬涔嬩竴銆傚挨鍏舵槸褰揇ocker琚墍鍦ㄧ粍緇囨帴鍙楋紝鏇村浜恒侀」鐩拰浜у搧寮濮嬫帴瑙﹀拰浣跨敤Docker鏃訛紝瀛樺偍鍜屽垎鍙戣嚜鍒剁殑Docker image渚挎垚浜嗗垰闇銆侱ocker Registry涓濡傛棦寰鐨勭戶鎵夸簡“Docker鍧戝”鐨勭壒鐐癸紝涓烘榪欓噷灝嗚嚜宸辨惌寤?#8221;鍚勭被”Registry榪囩▼涓墽琛岀殑姝ラ銆侀亣鍒扮殑闂璁板綍涓嬫潵錛屼負(fù)宸卞蹇橈紝涓轟粬鍙傝冦?/p>

Docker鍦?015騫存帹鍑轟簡 distribution 欏圭洰錛屽嵆Docker Registry 2銆傜浉姣斾簬 old registry 錛孯egistry 2浣跨敤Go瀹炵幇錛屽湪瀹夊叏鎬с佹ц兘鏂歸潰鍧囨湁澶у箙鏀硅繘銆俁egistry璁捐浜嗗叏鏂扮殑Rest API錛屽茍涓斿湪image瀛樺偍鏍煎紡絳夋柟闈笉鍐嶅吋瀹逛簬old Registry銆傚幓騫?鏈堜喚錛宒ocker瀹樻柟hub浣跨敤Registriy 2.1鏇夸唬浜嗗師鍏堢殑old Registry銆傚鏋滀綘瑕佷笌Registry2浜や簰錛屼綘鐨凞ocker鐗堟湰鑷沖皯瑕佹槸Docker 1.6銆?/p>

Docker鐨勫紑鍙戣呬篃涓鐩村湪鑷村姏浜庢敼鍠凴egistry瀹夎鍜屼嬌鐢ㄧ殑浣撻獙錛岄氳繃鎻愪緵 瀹樻柟Registry Image浠ュ強(qiáng) Docker Compose宸ュ叿 絳夋潵綆鍖朢egistry鐨勯厤緗備笉榪囧湪鏈枃涓紝鎴戜滑鍙槸鍒╃敤Docker浠ュ強(qiáng)Registry鐨勫畼鏂笽mage鏉ラ儴緗睷egistry錛岃繖鏍鋒洿渚夸簬鍏ㄩ潰浜嗚ВRegistry鐨勯儴緗查厤緗粏鑺傘?/p>

Registry2鍦ㄩ暅鍍忓瓨鍌ㄦ柟闈笉浠呮敮鎸佹湰鍦扮洏錛岃繕鏀寔璇稿涓繪祦絎笁鏂瑰瓨鍌ㄦ柟妗堛傞氳繃鍒嗗竷寮忓瓨鍌ㄧ郴緇熶綘榪樺彲浠ュ疄鐜頒竴涓垎甯冨紡Docker Registry鏈嶅姟銆傝繖閲屼粎浠ユ湰鍦扮洏浠ュ強(qiáng)single node registry2涓轟緥銆?/p>

涓銆佺幆澧?/h3>

榪欓噷榪樻槸澶嶇敤浠ュ線鏂囩珷涓殑Docker鐜錛?/p>

Docker Registry Server: 10.10.105.71 Ubuntu 14.04 3.16.0-57-generic錛沝ocker 1.9.1

鍏朵粬涓や釜宸ヤ綔Server錛?
10.10.105.72 Ubuntu 14.04 3.19.0-25-generic; docker 1.9.1
10.10.126.101 Ubuntu 12.04 3.16.7-013607-generic; docker 1.9.1

鏈Registry浣跨敤褰撳墠鏈鏂皊table鐗堟湰:Registry 2.3.0銆傜敱浜庨暅鍍忛噰鐢ㄦ湰鍦扮鐩樺瓨鍌紝root鍒嗗尯杈冨皬錛岄渶瑕佹槧灝勪嬌鐢ㄥ叾浠杤olume銆?/p>

浜屻佸垵嬈℃惌寤?/h3>

鏈互涓篋ocker Registry鐨勬惌寤烘槸浣曞叾綆鍗曠殑錛岀敋鑷崇畝鍗曞埌閫氳繃涓琛屽懡浠ゅ氨鍙互瀹屾垚鐨勩傛瘮濡傛垜浠湪Registry Server涓婃墽琛岋細(xì)

鍦▇/dockerregistry涓嬶紝鎵ц錛?

$sudo docker run -d -p 5000:5000 -v `pwd`/data:/var/lib/registry --restart=always --name registry registry:2
Unable to find image 'registry:2' locally
2: Pulling from library/registry
f32095d4ba8a: Pull complete
9b607719a62a: Pull complete
973de4038269: Pull complete
2867140211c1: Pull complete
8da16446f5ca: Pull complete
fd8c38b8b68d: Pull complete
136640b01f02: Pull complete
e039ba1c0008: Pull complete
c457c689c328: Pull complete
Digest: sha256:339d702cf9a4b0aa665269cc36255ee7ce424412d56bee9ad8a247afe8c49ef1
Status: Downloaded newer image for registry:2
e9088ef901cb00546c59f89defa4625230f4b36b0a44b3713f38ab3d2a5a2b44

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry            2                   c457c689c328        9 days ago          165.7 MB

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS                    NAMES
e9088ef901cb        registry:2          "/bin/registry /etc/d"   About a minute ago   Up About a minute   0.0.0.0:5000->5000/tcp   registry

Registry container宸茬粡璺戣搗鏉ヤ簡錛屽叾鍚姩鏃ュ織鍙互閫氳繃錛歞ocker logs registry鏌ョ湅銆?/p>

鎴戜滑鍦?1鏈湴緇檅usybox:latest鎵撲竴涓猼ag錛屽茍灝濊瘯灝嗘柊tag涓嬬殑image push鍒癛egistry涓幓錛?/p>

$ docker tag busybox:latest 10.10.105.71:5000/tonybai/busybox:latest
$ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry                            2                   c457c689c328        9 days ago          165.7 MB
busybox                             latest              65e4158d9625        9 days ago          1.114 MB
10.10.105.71:5000/tonybai/busybox   latest              65e4158d9625        9 days ago          1.114 MB
... ...

push鍒癛egistry涓細(xì)

$ docker push 10.10.105.71:5000/tonybai/busybox
The push refers to a repository [10.10.105.71:5000/tonybai/busybox] (len: 1)
unable to ping registry endpoint https://10.10.105.71:5000/v0/
v2 ping attempt failed with error: Get https://10.10.105.71:5000/v2/: Tunnel or SSL Forbidden
 v1 ping attempt failed with error: Get https://10.10.105.71:5000/v1/_ping: Tunnel or SSL Forbidden

鍑洪敊浜嗭紒綆鍗曞垎鏋愪簡涓涓嬶紝鍙兘鏄?1涓奷ocker daemon閰嶇疆涓姞浜唄ttp浠g悊鐨勭紭鏁咃紝瀵艱嚧鏃犳硶ping閫歳egistry endpoint銆備簬鏄湪/etc/default/docker涓敞閲婃帀export http_proxy=”xxx”鐨勮緗紝騫墮噸鍚痙ocker daemon銆?/p>

鍐嶆灝濊瘯push錛?/p>

$ docker push 10.10.105.71:5000/tonybai/busybox
The push refers to a repository [10.10.105.71:5000/tonybai/busybox] (len: 1)
unable to ping registry endpoint https://10.10.105.71:5000/v0/
v2 ping attempt failed with error: Get https://10.10.105.71:5000/v2/: tls: oversized record received with length 20527
 v1 ping attempt failed with error: Get https://10.10.105.71:5000/v1/_ping: tls: oversized record received with length 20527

铏界劧榪樻槸澶辮觸錛屼絾閿欒淇℃伅宸叉湁鎵涓嶅悓浜嗐傝繖嬈$湅鏉ヨ繛鎺ユ槸鍙互寤虹珛鐨勶紝浣哻lient绔氳繃https璁塊棶server绔紝浼間箮鎯硉ls閫氫俊錛屼絾榪欎竴榪囩▼騫舵湭瀹屾垚銆?/p>

鍦ㄥ叾浠栨満鍣ㄤ笂灝濊瘯push image鍒皉egistry涔熼亣鍒頒簡鍚屾牱鐨勯敊璇緭鍑猴紝濡備笅錛?/p>

10.10.105.72:

$ docker push 10.10.105.71:5000/tonybai/ubuntu
The push refers to a repository [10.10.105.71:5000/tonybai/ubuntu] (len: 1)
unable to ping registry endpoint https://10.10.105.71:5000/v0/
v2 ping attempt failed with error: Get https://10.10.105.71:5000/v2/: tls: oversized record received with length 20527
 v1 ping attempt failed with error: Get https://10.10.105.71:5000/v1/_ping: tls: oversized record received with length 20527

浠庨敊璇俊鎭潵鐪嬶紝client涓嶳egistry浜や簰錛岄粯璁ゅ皢閲囩敤https璁塊棶錛屼絾鎴戜滑鍦╥nstall Registry鏃跺茍鏈厤緗寚瀹氫換浣晅ls鐩稿叧鐨刱ey鍜宑rt鏂囦歡錛宧ttps璁塊棶瀹氱劧澶辮觸銆傝鎯沖紕娓呰繖涓棶棰橈紝鍙兘鏌ョ湅 Registry Manual 銆?/p>

涓夈両nsecure Registry

Registry鐨勬枃妗h繕鏄浉瀵硅灝界殑銆傚湪鏂囨。涓紝鎴戜滑鎵懼埌浜?nbsp;Insecure Registry 錛屽嵆鎺ユ敹plain http璁塊棶鐨凴egistry鐨勯厤緗拰浣跨敤鏂規(guī)硶錛岃櫧鐒惰繖涓嶆槸瀹樻柟鎺ㄨ崘鐨勩?/p>

瀹為檯涓婂浜庢垜浠唴閮ㄧ綉緇滆岃█錛孖nsecure Registry鍩烘湰鑳芥弧瓚抽渶姹傦紝閮ㄧ講榪囩▼涔熼伩鍏嶄簡secure registry鐨勯偅浜涚箒鐞愭楠わ紝姣斿鍒朵綔鍜岄儴緗茶瘉涔︾瓑銆?/p>

涓轟簡鎼緩涓涓狪nsecure Registry錛屾垜浠渶瑕佸厛娓呯悊涓涓嬩笂闈㈠凡緇忓惎鍔ㄧ殑Registry瀹瑰櫒銆?/p>

$ docker stop registry
registry
$ docker rm registry
registry

淇敼Registry server涓婄殑Docker daemon鐨勯厤緗紝涓篋OCKER_OPTS澧炲姞–insecure-registry錛?/p>

DOCKER_OPTS="--insecure-registry 10.10.105.71:5000 ....

閲嶅惎Docker Daemon錛屽惎鍔≧egistry瀹瑰櫒錛?/p>

$ sudo service docker restart
docker stop/waiting
docker start/running, process 6712
$ sudo docker run -d -p 5000:5000 -v `pwd`/data:/var/lib/registry --restart=always --name registry registry:2
5966e92fce9c34705050e19368d19574e021a272ede1575385ef35ecf5cea019

灝濊瘯鍐嶆Push image:

$ docker push 10.10.105.71:5000/tonybai/busybox
The push refers to a repository [10.10.105.71:5000/tonybai/busybox] (len: 1)
65e4158d9625: Pushed
5506dda26018: Pushed
latest: digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892 size: 2739

榪欏洖push ok錛?/p>

鎴戜滑灝嗘湰鍦扮殑tag鍋歶ntag澶勭悊錛屽啀浠嶳egistry pull鐩稿叧image錛?/p>

$ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry                            2                   c457c689c328        9 days ago          165.7 MB
10.10.105.71:5000/tonybai/busybox   latest              65e4158d9625        9 days ago          1.114 MB
busybox                             latest              65e4158d9625        9 days ago          1.114 MB
ubuntu                              14.04               6cc0fc2a5ee3        5 weeks ago         187.9 MB

$ docker rmi 10.10.105.71:5000/tonybai/busybox
Untagged: 10.10.105.71:5000/tonybai/busybox:latest

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry            2                   c457c689c328        9 days ago          165.7 MB
busybox             latest              65e4158d9625        9 days ago          1.114 MB
ubuntu              14.04               6cc0fc2a5ee3        5 weeks ago         187.9 MB

$ docker pull 10.10.105.71:5000/tonybai/busybox
Using default tag: latest
latest: Pulling from tonybai/busybox
Digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892
Status: Downloaded newer image for 10.10.105.71:5000/tonybai/busybox:latest

$ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry                            2                   c457c689c328        9 days ago          165.7 MB
10.10.105.71:5000/tonybai/busybox   latest              65e4158d9625        9 days ago          1.114 MB
busybox                             latest              65e4158d9625        9 days ago          1.114 MB
ubuntu                              14.04               6cc0fc2a5ee3        5 weeks ago         187.9 MB

鍙互鐪嬪埌錛歅ull榪囩▼涔熷緢欏哄埄銆?/p>

鍦≒rivate Registry2涓煡鐪嬫垨媯(gè)绱epository鎴杋mages錛?nbsp;灝嗕笉鑳界敤docker search 錛?/p>

$ docker search 10.10.105.71:5000/tonybai/busybox/
Error response from daemon: Unexpected status code 404

浣嗛氳繃v2鐗堟湰鐨凙PI錛屾垜浠彲浠ュ疄鐜扮浉鍚岀洰鐨勶細(xì)

$curl  http://10.10.105.71:5000/v2/_catalog
{"repositories":["tonybai/busybox"]}

$ curl  http://10.10.105.71:5000/v2/tonybai/busybox/tags/list
{"name":"tonybai/busybox","tags":["latest"]}

鍦ㄥ叾浠栦富鏈轟笂錛屾垜浠皾璇昿ull busybox錛?/p>

10.10.105.72:

$docker pull 10.10.105.71:5000/tonybai/busybox
Using default tag: latest
Error response from daemon: unable to ping registry endpoint https://10.10.105.71:5000/v0/
v2 ping attempt failed with error: Get https://10.10.105.71:5000/v2/: tls: oversized record received with length 20527
 v1 ping attempt failed with error: Get https://10.10.105.71:5000/v1/_ping: tls: oversized record received with length 20527

鎴戜滑鍙戠幇渚濇棫涓嶈兘pull鍜宲ush錛佸湪Registry鎵嬪唽涓鍒幫紝濡傛灉閲囩敤insecure registry鐨勬ā寮忥紝閭d箞鎵鏈変笌Registry浜や簰鐨勪富鏈轟笂鐨凞ocker Daemon閮借閰嶇疆錛?#8211;insecure-registry閫夐」銆?/p>

鎴戜滑鎸夌収涓婇潰鐨勯厤緗柟娉曪紝淇敼105.72涓婄殑/etc/default/docker錛岄噸鍚疍ocker daemon錛屽啀鎵цpull/push灝變細(xì)寰楀埌姝g‘鐨勭粨鏋滐細(xì)

$ sudo vi /etc/default/docker
$ sudo service docker restart
docker stop/waiting
docker start/running, process 10614
$ docker pull 10.10.105.71:5000/tonybai/busybox
Using default tag: latest
latest: Pulling from tonybai/busybox
5506dda26018: Pull complete
65e4158d9625: Pull complete
Digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892
Status: Downloaded newer image for 10.10.105.71:5000/tonybai/busybox:latest

$ docker images
REPOSITORY                          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                              14.04               36248ae4a9ac        8 days ago          187.9 MB
10.10.105.71:5000/tonybai/ubuntu    14.04               36248ae4a9ac        8 days ago          187.9 MB
10.10.105.71:5000/tonybai/busybox   latest              65e4158d9625        9 days ago          1.114 MB

$ docker push 10.10.105.71:5000/tonybai/ubuntu
The push refers to a repository [10.10.105.71:5000/tonybai/ubuntu] (len: 1)
36248ae4a9ac: Pushed
8ea5373bf5a6: Pushed
2e0188208e83: Pushed
e3c70beaa378: Pushed
14.04: digest: sha256:72e56686cb9fb38438f0fd68fecf02ef592ce2ef7069bbf97802d959d568c5cc size: 6781

鍥涖丼ecure Registry

Docker瀹樻柟鏄帹鑽愪綘閲囩敤Secure Registry鐨勫伐浣滄ā寮忕殑錛屽嵆transport閲囩敤tls銆傝繖鏍鋒垜浠氨闇瑕佷負(fù)Registry閰嶇疆tls鎵闇鐨刱ey鍜宑rt鏂囦歡浜嗐?/p>

鎴戜滑棣栧厛娓呯悊涓涓嬬幆澧冿紝灝嗕笂闈㈢殑Insecure Registry鍋滄帀騫秗m鎺夛紱灝嗗悇鍙頒富鏈轟笂Docker Daemon鐨凞OCKER_OPTS閰嶇疆涓殑–insecure-registry鍘繪帀錛屽茍閲嶅惎Docker Daemon銆?/p>

濡傛灉浣犳嫢鏈変竴涓煙鍚嶏紝鍩熷悕涓嬩富鏈烘彁渚汻egistry鏈嶅姟錛屽茍涓斾綘鎷ユ湁鏌愮煡鍚岰A絳劇講鐨勮瘉涔︽枃浠訛紝閭d箞浣犲彲浠ュ緩绔嬭搗涓涓猄ecure Registry銆備笉榪囨垜榪欓噷娌℃湁鐜版垚鐨勮瘉涔︼紝鍙兘浣跨敤鑷緗茬殑璇佷功銆備弗鏍兼潵璁詫紝浣跨敤鑷緗茬殑璇佷功鍦―ocker瀹樻柟鐪間腑渚濇棫灞炰簬Insecure錛屼笉榪囪繖閲屽彧鏄熷姪鑷緗茬殑璇佷功鏉ヨ鏄庝竴涓婼ecure Registry鐨勯儴緗叉楠ょ艦浜嗐?/p>

1銆佸埗浣滆嚜絳劇講璇佷功

濡傛灉浣犳湁鐭ュ悕CA絳劇講鐨勮瘉涔︼紝閭d箞榪欐鍙洿鎺ュ拷鐣ャ?/p>

$ openssl req -newkey rsa:2048 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt
Generating a 2048 bit RSA private key
..............+++
............................................+++
writing new private key to 'certs/domain.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Liaoning
Locality Name (eg, city) []:shenyang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:foo
Organizational Unit Name (eg, section) []:bar
Common Name (e.g. server FQDN or YOUR name) []:mydockerhub.com
Email Address []:bigwhite.cn@gmail.com

2銆佸惎鍔⊿ecure Registry

鍚姩甯﹁瘉涔︾殑Registry錛?/p>

$ docker run -d -p 5000:5000 --restart=always --name registry \
  -v `pwd`/data:/var/lib/registry \
  -v `pwd`/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2
35e8ce77dd455f2bd50854e4581cd52be8a137f4aaea717239b6d676c5ea5777

鐢變簬璇佷功鐨凜N鏄痬ydockerhub.com錛屾垜浠渶瑕佷慨鏀逛竴涓?etc/hosts鏂囦歡:

10.10.105.71 mydockerhub.com

閲嶆柊涓篵usybox鍒朵綔涓涓猼ag:

$docker tag busybox:latest mydockerhub.com:5000/tonybai/busybox:latest

Push鍒癛egistry:

$ docker push mydockerhub.com:5000/tonybai/busybox
The push refers to a repository [mydockerhub.com:5000/tonybai/busybox] (len: 1)
unable to ping registry endpoint https://mydockerhub.com:5000/v0/
v2 ping attempt failed with error: Get https://mydockerhub.com:5000/v2/: x509: certificate signed by unknown authority
 v1 ping attempt failed with error: Get https://mydockerhub.com:5000/v1/_ping: x509: certificate signed by unknown authority

push澶辮觸浜嗭紒浠庨敊璇棩蹇楁潵鐪嬶紝docker client璁や負(fù)server浼犺緭榪囨潵鐨勮瘉涔︾殑絳劇講鏂規(guī)槸涓涓猽nknown authority錛堟湭鐭ョ殑CA錛夛紝鍥犳楠岃瘉澶辮觸銆傛垜浠渶瑕佽docker client瀹夎鎴戜滑鐨凜A璇佷功錛?/p>

$ sudo mkdir -p /etc/docker/certs.d/mydockerhub.com:5000
$ sudo cp certs/domain.crt /etc/docker/certs.d/mydockerhub.com:5000/ca.crt
$ sudo service docker restart //瀹夎璇佷功鍚庯紝閲嶅惎Docker Daemon

鍐嶆墽琛孭ush錛屾垜浠湅鍒頒簡鎴愬姛鐨勮緭鍑烘棩蹇椼傜敱浜巇ata鐩綍涓嬩箣鍓嶅凡緇忚push浜唗onybai/busybox repository錛屽洜姝ゆ彁紺?#8220;宸插瓨鍦?#8221;錛?/p>

$docker push mydockerhub.com:5000/tonybai/busybox
The push refers to a repository [mydockerhub.com:5000/tonybai/busybox] (len: 1)
65e4158d9625: Image already exists
5506dda26018: Image already exists
latest: digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892 size: 2739

3銆佸閮ㄨ闂甊egistry

鎴戜滑鎹㈠叾浠栨満鍣ㄨ瘯璇曡闂繖涓猻ecure registry銆傛牴鎹箣鍓嶇殑瑕佹眰錛屾垜浠収鐚敾铏庣殑淇敼涓涓媓osts鏂囦歡錛屽畨瑁卌a.cert錛屽幓闄?#8211;insecure-registry閫夐」錛屽茍閲嶅惎Docker daemon銆備箣鍚庡皾璇曚粠registry pull image錛?/p>

$ docker pull mydockerhub.com:5000/tonybai/busybox
Using default tag: latest
latest: Pulling from tonybai/busybox

Digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892
Status: Downloaded newer image for mydockerhub.com:5000/tonybai/busybox:latest

$ docker images
REPOSITORY                             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
10.10.105.71:5000/tonybai/ubuntu       14.04               36248ae4a9ac        9 days ago          187.9 MB
ubuntu                                 14.04               36248ae4a9ac        9 days ago          187.9 MB
10.10.105.71:5000/tonybai/busybox      latest              65e4158d9625        9 days ago          1.114 MB
mydockerhub.com:5000/tonybai/busybox   latest              65e4158d9625        9 days ago          1.114 MB

榪欐牱鏉ョ湅錛屽鏋滀嬌鐢ㄨ嚜絳劇講鐨勮瘉涔︼紝閭d箞鎵鏈夎涓嶳egistry浜や簰鐨凞ocker涓繪満閮介渶瑕佸畨瑁卪ydockerhub.com鐨刢a.crt(domain.crt)銆備絾濡傛灉浣犱嬌鐢ㄧ煡鍚岰A錛岃繖涓姝ヤ篃灝卞彲浠ュ拷鐣ャ?/p>

浜斻丷egistry鐨勯壌鏉冪鐞?/h3>

Registry鎻愪緵浜嗕竴縐嶅熀紜鐨勯壌鏉冩柟寮忋傛垜浠氳繃涓嬮潰姝ラ鍗沖彲涓篟egistry鍔犱笂鍩虹閴存潈錛?/p>

鍦≧egister server涓婏紝涓篟egistry澧炲姞foo鐢ㄦ埛錛屽瘑鐮乫oo123錛氾紙涔嬪墠闇瑕佸仠鎺夊凡鏈夌殑Registry錛屽茍鍒犻櫎涔嬶級

//鐢熸垚閴存潈瀵嗙爜鏂囦歡
$ mkdir auth
$ docker run --entrypoint htpasswd registry:2 -Bbn foo foo123  > auth/htpasswd
$ ls auth
htpasswd

//鍚姩甯﹂壌鏉冨姛鑳界殑Registry錛?
$ docker run -d -p 5000:5000 --restart=always --name registry \
   -v `pwd`/auth:/auth \
   -e "REGISTRY_AUTH=htpasswd" \
   -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
   -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
   -v `pwd`/data:/var/lib/registry \
   -v `pwd`/certs:/certs \
   -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
   -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
   registry:2
199ad0b3591fb9613b21b1c96f017267f3c39661a7025d30df636c6805e7ab50

鍦?05.72涓婏紝鎴戜滑灝濊瘯push image鍒癛egistry錛?/p>

$ docker push mydockerhub.com:5000/tonybai/busybox
The push refers to a repository [mydockerhub.com:5000/tonybai/busybox] (len: 1)
65e4158d9625: Image push failed
Head https://mydockerhub.com:5000/v2/tonybai/busybox/blobs/sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4: no basic auth credentials

閿欒淇℃伅鎻愮ず錛氶壌鏉冨け璐ャ?/p>

鍦?2涓婃墽琛宒ocker login:

$docker login mydockerhub.com:5000
Username: foo
Password:
Email: bigwhite.cn@gmail.com
WARNING: login credentials saved in /home/baiming/.docker/config.json
Login Succeeded

login鎴愬姛鍚庯紝鍐嶈Push錛?/p>

$ docker push mydockerhub.com:5000/tonybai/busybox
The push refers to a repository [mydockerhub.com:5000/tonybai/busybox] (len: 1)
65e4158d9625: Image already exists
5506dda26018: Image already exists
latest: digest: sha256:800f2d4558acd67f52262fbe170c9fc2e67efaa6f230a74b41b555e6fcca2892 size: 2739

Push ok錛?/p>

鍏丷egistry涓璱mages鐨勭鐞?/h3>

鍓嶉潰鎻愬埌榪囷紝閫氳繃V2鐗圧est API鍙互鏌ヨRepository鍜宨mages錛?/p>

$ curl --cacert domain.crt  --basic --user foo:foo123 https://mydockerhub.com:5000/v2/_catalog
{"repositories":["tonybai/busybox","tonybai/ubuntu"]}

浣嗗鏋滆鍒犻櫎Registry涓殑Repository鎴栨煇涓猼ag鐨処mage錛岀洰鍓峷2榪樹笉鏀寔錛屽師鍥犺 Registry鐨剅oadmap涓殑璇存槑 銆?/p>

涓嶈繃濡傛灉浣犵殑Registry鐨勫瓨鍌ㄥ紩鎿庝嬌鐢ㄧ殑鏄湰鍦扮洏錛屽掓槸鏈変竴浜涚涓夋柟鑴氭湰鍙緵浣跨敤錛屾瘮濡傦細(xì)delete-docker-registry-image 銆?/p>

涓冦佸皬緇?/h3>

Registry2鍙戝竷涓嶅埌1騫達(dá)紝鐩墠榪樻湁璁稿闂寰呰В鍐籌紝灝辨瘮濡俤elete image鐨勯棶棰橈紝鐩鎬俊鍦?.4浠ュ強(qiáng)鍚庣畫鐗堟湰榪欎簺闂浼?xì)琚愪釜瑙e喅鎺夋垨鑳芥壘鍒頒竴涓浉瀵圭悊鎯崇殑鏂規(guī)銆?/p>



]]>
CentOS 7瀹炴垬Kubernetes閮ㄧ講http://m.tkk7.com/xiaomage234/archive/2016/10/25/431922.html灝忛┈姝?/dc:creator>灝忛┈姝?/author>Tue, 25 Oct 2016 06:23:00 GMThttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431922.htmlhttp://m.tkk7.com/xiaomage234/comments/431922.htmlhttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431922.html#Feedback0http://m.tkk7.com/xiaomage234/comments/commentRss/431922.htmlhttp://m.tkk7.com/xiaomage234/services/trackbacks/431922.html

. 鍓嶈█

涓婁竴鑺傛垜浠槓榪頒簡Kubernetes鐨勭郴緇熸灦鏋勶紝璁╁ぇ瀹跺Kubernetes鏈変竴瀹氱殑鍒濇浜嗚В錛屼絾鏄氨濡備綍浣跨敤Kubernetes錛?涔熻澶у榪樹笉鐭ュ浣曚笅鎵嬨傛湰鏂囦綔鑰呭皢甯﹂澶у濡備綍鍦ㄦ湰鍦伴儴緗層侀厤緗甂ubernetes闆嗙兢緗戠粶鐜浠ュ強(qiáng)閫氳繃瀹炰緥婕旂ず璺ㄦ満鍣ㄦ湇鍔¢棿鐨勯氫俊錛屼富瑕佸寘鎷涓嬪唴瀹癸細(xì)

  • 閮ㄧ講鐜浠嬬粛
  • Kubernetes闆嗙兢閫昏緫鏋舵瀯
  • 閮ㄧ講Open vSwitch銆並ubernetes銆丒tcd緇勪歡
  • 婕旂ずKubernetes綆$悊瀹瑰櫒

2. 閮ㄧ講鐜

  • VMware Workstation錛?0.0.3
  • VMware Workstation緗戠粶妯″紡錛歂AT
  • 鎿嶄綔緋葷粺淇℃伅錛欳entOS 7 64浣?/li>
  • Open vSwitch鐗堟湰淇℃伅錛?.3.0
  • Kubernetes鐗堟湰淇℃伅錛?.5.2
  • Etcd鐗堟湰淇℃伅錛?.4.6
  • Docker鐗堟湰淇℃伅錛?.3.1
  • 鏈嶅姟鍣ㄤ俊鎭?

            | Role      | Hostname   | IP Address  | 	|:---------:|:----------:|:----------: | 	|APIServer  |kubernetes  |192.168.230.3| 	|Minion     | minion1    |192.168.230.4| 	|Minion     | minion2    |192.168.230.5|

3. Kubernetes闆嗙兢閫昏緫鏋舵瀯

鍦ㄨ緇嗕粙緇嶉儴緗睰ubernetes闆嗙兢鍓嶏紝鍏堢粰澶у灞曠ず涓嬮泦緹ょ殑閫昏緫鏋舵瀯銆備粠涓嬪浘鍙煡錛屾暣涓郴緇熷垎涓轟袱閮ㄥ垎錛岀涓閮ㄥ垎鏄疜ubernetes APIServer錛屾槸鏁翠釜緋葷粺鐨勬牳蹇冿紝鎵挎媴闆嗙兢涓墍鏈夊鍣ㄧ殑綆$悊宸ヤ綔錛涚浜岄儴鍒嗘槸minion錛岃繍琛孋ontainer Daemon錛屾槸鎵鏈夊鍣ㄦ爾鎭箣鍦幫紝鍚屾椂鍦╩inion涓婅繍琛孫pen vSwitch紼嬪簭錛岄氳繃GRE Tunnel璐熻矗minion涔嬮棿Pod鐨勭綉緇滈氫俊宸ヤ綔銆?/p>

4. 閮ㄧ講Open vSwitch銆並ubernetes銆丒tcd緇勪歡

4.1 瀹夎Open vSwitch鍙?qiáng)閰嵕|瓽RE

涓轟簡瑙e喅璺╩inion涔嬮棿Pod鐨勯氫俊闂錛屾垜浠湪姣忎釜minion涓婂畨瑁匫pen vSwtich錛屽茍浣跨敤GRE鎴栬匳xLAN浣垮緱璺ㄦ満鍣ㄤ箣闂碢od鑳界浉浜掗氫俊錛屾湰鏂囦嬌鐢℅RE錛岃孷xLAN閫氬父鐢ㄥ湪闇瑕侀殧紱葷殑澶ц妯$綉緇滀腑銆傚浜嶰pen vSwitch鐨勫叿浣撳畨瑁呮楠わ紝鍙弬鑰冭繖綃?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">鍗氬錛屾垜浠湪榪欓噷灝變笉鍐嶈緇嗕粙緇嶅畨瑁呮楠や簡銆傚畨瑁呭畬Open vSwitch鍚庯紝鎺ヤ笅鏉ヤ究寤虹珛minion1鍜宮inion2涔嬮棿鐨勯毀閬撱傞鍏堝湪minion1鍜宮inion2涓婂緩绔婳VS Bridge,

[root@minion1 ~]# ovs-vsctl add-br obr0 

鎺ヤ笅鏉ュ緩绔媑re錛屽茍灝嗘柊寤虹殑gre0娣誨姞鍒皁br0錛屽湪minion1涓婃墽琛屽涓嬪懡浠わ紝

[root@minion1 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.5 

鍦╩inion2涓婃墽琛?

[root@minion2 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.4 

鑷蟲錛宮inion1鍜宮inion2涔嬮棿鐨勯毀閬撳凡緇忓緩绔嬨傜劧鍚庢垜浠湪minion1鍜宮inion2涓婂垱寤篖inux緗戞ˉkbr0鏇夸唬Docker榛樿鐨刣ocker0錛堟垜浠亣璁緈inion1鍜宮inion2閮藉凡瀹夎Docker錛夛紝璁劇疆minion1鐨刱br0鐨勫湴鍧涓?72.17.1.1/24錛?minion2鐨刱br0鐨勫湴鍧涓?72.17.2.1/24錛屽茍娣誨姞obr0涓簁br0鐨勬帴鍙o紝浠ヤ笅鍛戒護(hù)鍦╩inion1鍜宮inion2涓婃墽琛屻?/p>

[root@minion1 ~]# brctl addbr kbr0               //鍒涘緩linux bridge [root@minion1 ~]# brctl addif kbr0 obr0          //娣誨姞obr0涓簁br0鐨勬帴鍙?[root@minion1 ~]# ip link set dev docker0 down   //璁劇疆docker0涓篸own鐘舵?[root@minion1 ~]# ip link del dev docker0        //鍒犻櫎docker0 

涓轟簡浣挎柊寤虹殑kbr0鍦ㄦ瘡嬈$郴緇熼噸鍚悗浠葷劧鏈夋晥錛屾垜浠湪/etc/sysconfig/network-scripts/鐩綍涓嬫柊寤簃inion1鐨刬fcfg-kbr0濡備笅錛?/p>

DEVICE=kbr0 ONBOOT=yes BOOTPROTO=static IPADDR=172.17.1.1 NETMASK=255.255.255.0 GATEWAY=172.17.1.0 USERCTL=no TYPE=Bridge IPV6INIT=no 

鍚屾牱鍦╩inion2涓婃柊寤篿fcfg-kbr0錛屽彧闇淇敼ipaddr涓?72.17.2.1鍜実ateway涓?72.17.2.0鍗沖彲錛岀劧鍚庢墽琛宻ystemctl restart network閲嶅惎緋葷粺緗戠粶鏈嶅姟錛屼綘鑳藉湪minion1鍜宮inion2涓婂彂鐜発br0閮借緗簡鐩稿簲鐨処P鍦板潃銆備負(fù)浜嗛獙璇佹垜浠垱寤虹殑闅ч亾鏄惁鑳介氫俊錛屾垜浠湪minion1鍜宮inion2涓婄浉浜抪ing瀵規(guī)柟kbr0鐨処P鍦板潃錛屼粠涓嬮潰鐨勭粨鏋滃彂鐜版槸涓嶉氱殑錛岀粡鏌ユ壘榪欐槸鍥犱負(fù)鍦╩inion1鍜宮inion2涓婄己灝戣闂?72.17.1.1鍜?72.17.2.1鐨勮礬鐢憋紝鍥犳鎴戜滑闇瑕佹坊鍔犺礬鐢變繚璇佸郊姝や箣闂磋兘閫氫俊銆?/p>

[root@minion1 network-scripts]# ping 172.17.2.1 PING 172.17.2.1 (172.17.2.1) 56(84) bytes of data. ^C --- 172.17.2.1 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1000ms  [root@minion2 ~]#  ping 172.17.1.1 PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data. ^C --- 172.17.1.1 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1000ms 

鐢變簬閫氳繃ip route add娣誨姞鐨勮礬鐢變細(xì)鍦ㄤ笅嬈$郴緇熼噸鍚悗澶辨晥錛屼負(fù)姝ゆ垜浠湪/etc/sysconfig/network-scripts鐩綍涓嬫柊寤轟竴涓枃浠秗oute-eth0瀛樺偍璺敱錛岃繖閲岄渶瑕佹敞鎰忕殑鏄痳oute-eth0鍜宨fcfg-eth0鐨勯粦浣撻儴鍒嗗繀欏諱繚鎸佷竴鑷達(dá)紝鍚﹀垯涓嶈兘宸ヤ綔錛岃繖鏍鋒坊鍔犵殑璺敱鍦ㄤ笅嬈¢噸鍚悗涓嶄細(xì)澶辨晥銆備負(fù)浜嗕繚璇佷袱鍙癿inion鐨刱br0鑳界浉浜掗氫俊錛屾垜浠湪minion1鐨剅oute-eth0閲屾坊鍔犺礬鐢?72.17.2.0/24 via 192.168.230.5 dev eno16777736錛宔no16777736鏄痬inion1鐨勭綉鍗★紝鍚屾牱鍦╩inion2鐨剅oute-eth0閲屾坊鍔犺礬鐢?72.17.1.0/24 via 192.168.230.4 dev eno16777736銆傞噸鍚綉緇滄湇鍔″悗鍐嶆楠岃瘉錛屽郊姝br0鐨勫湴鍧鍙互ping閫氾紝濡傦細(xì)

[root@minion2 network-scripts]# ping 172.17.1.1 PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data. 64 bytes from 172.17.1.1: icmp_seq=1 ttl=64 time=2.49 ms 64 bytes from 172.17.1.1: icmp_seq=2 ttl=64 time=0.512 ms ^C --- 172.17.1.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 0.512/1.505/2.498/0.993 ms 

鍒扮幇鍦ㄦ垜浠凡緇忓緩绔嬩簡涓inion涔嬮棿鐨勯毀閬擄紝鑰屼笖鑳芥紜殑宸ヤ綔銆備笅闈㈡垜浠皢浠嬬粛濡備綍瀹夎Kubernetes APIServer鍙?qiáng)kubelet銆乸roxy絳夋湇鍔°?/p>

4.2 瀹夎Kubernetes APIServer

鍦ㄥ畨瑁匒PIServer涔嬪墠錛屾垜浠厛涓嬭澆Kubernetes鍙?qiáng)Etcd錛屽仛涓浜涘噯澶囧伐浣溿傚湪kubernetes涓婄殑鍏蜂綋鎿嶄綔濡備笅錛?/p>

[root@kubernetes ~]# mkdir /tmp/kubernetes [root@kubernetes ~]# cd /tmp/kubernetes/ [root@kubernetes kubernetes]# wget https://github.com/GoogleCloudPlatform/kubernetes/releases/download/v0.5.2/kubernetes.tar.gz [root@kubernetes kubernetes]# wget https://github.com/coreos/etcd/releases/download/v0.4.6/etcd-v0.4.6-linux-amd64.tar.gz 

鐒跺悗瑙e帇涓嬭澆鐨刱ubernetes鍜宔tcd鍖咃紝騫跺湪kubernetes銆乵inion1銆乵inion2涓婂垱寤虹洰褰?opt/kubernetes/bin錛?/p>

[root@kubernetes kubernetes]# mkdir -p /opt/kubernetes/bin [root@kubernetes kubernetes]# tar xf kubernetes.tar.gz [root@kubernetes kubernetes]# tar xf etcd-v0.4.6-linux-amd64.tar.gz [root@kubernetes kubernetes]# cd ~/kubernetes/server [root@kubernetes server]# tar xf kubernetes-server-linux-amd64.tar.gz [root@kubernetes kubernetes]# /tmp/kubernetes/kubernetes/server/kubernetes/server/bin 

澶嶅埗kube-apiserver錛宬ube-controller-manager錛宬ube-scheduler錛宬ubecfg鍒発ubernetes鐨?opt/kubernetes/bin鐩綍涓嬶紝鑰宬ubelet錛宬ube-proxy鍒欏鍒跺埌minion1鍜宮inion2鐨?opt/kubernetes/bin錛屽茍紜繚閮芥槸鍙墽琛岀殑銆?/p>

[root@kubernetes amd64]# cp kube-apiserver kube-controller-manager kubecfg kube-scheduler /opt/kubernetes/bin [root@kubernetes amd64]# scp kube-proxy kubelet root@192.168.230.4:/opt/kubernetes/bin [root@kubernetes amd64]# scp kube-proxy kubelet root@192.168.230.5:/opt/kubernetes/bin 

涓轟簡綆鍗曟垜浠彧閮ㄧ講涓鍙癳tcd鏈嶅姟鍣紝濡傛灉闇瑕侀儴緗瞖tcd鐨勯泦緹わ紝璇峰弬鑰?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">瀹樻柟鏂囨。錛屽湪鏈枃涓皢鍏惰窡Kubernetes APIServer閮ㄧ講鍚屼竴鍙版満鍣ㄤ笂錛岃屼笖灝唀tcd鏀劇疆鍦?opt/kubernetes/bin涓嬶紝etcdctl璺焑ctd鍚屼竴鐩綍銆?/p>

[root@kubernetes kubernetes]# cd /tmp/kubernetes/etcd-v0.4.6-linux-amd64 [root@kubernetes etcd-v0.4.6-linux-amd64]# cp etcd etcdctl /opt/kubernetes/bin 

闇娉ㄦ剰鐨勬槸kubernetes鍜宮inion涓?opt/kubernetes/bin鐩綍涓嬬殑鏂囦歡閮藉繀欏繪槸鍙墽琛岀殑銆傚埌鐩墠錛屾垜浠噯澶囧伐浣滃凡緇忓樊涓嶅錛岀幇鍦ㄥ紑濮嬬粰apiserver錛宑ontroller-manager錛宻cheduler錛宔tcd閰嶇疆unit鏂囦歡銆傞鍏堟垜浠敤濡備笅鑴氭湰etcd.sh閰嶇疆etcd鐨剈nit鏂囦歡錛?/p>

#!/bin/sh  ETCD_PEER_ADDR=192.168.230.3:7001 ETCD_ADDR=192.168.230.3:4001 ETCD_DATA_DIR=/var/lib/etcd ETCD_NAME=kubernetes  ! test -d $ETCD_DATA_DIR && mkdir -p $ETCD_DATA_DIR cat <<EOF >/usr/lib/systemd/system/etcd.service [Unit] Description=Etcd Server  [Service] ExecStart=/opt/kubernetes/bin/etcd \\     -peer-addr=$ETCD_PEER_ADDR \\     -addr=$ETCD_ADDR \\     -data-dir=$ETCD_DATA_DIR \\     -name=$ETCD_NAME \\     -bind-addr=0.0.0.0  [Install] WantedBy=multi-user.target EOF  systemctl daemon-reload systemctl enable etcd systemctl start etcd 

瀵瑰墿涓嬬殑apiserver,controller-manager,scheduler鐨剈nit鏂囦歡閰嶇疆鐨勮剼鏈紝鍙互鍦╣ithub 涓?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">GetStartingKubernetes鎵懼埌錛屽湪姝ゅ氨涓嶄竴涓鍒椾婦銆傝繍琛岀浉搴旂殑鑴氭湰鍚庯紝鍦ˋPIServer涓奺tcd, apiserver, controller-manager, scheduler鏈嶅姟灝辮兘姝e父榪愯銆?/p>

4.3 瀹夎Kubernetes Kubelet鍙?qiáng)Proxy

鏍規(guī)嵁Kubernetes鐨勮璁℃灦鏋勶紝闇瑕佸湪minion涓婇儴緗瞕ocker, kubelet, kube-proxy錛屽湪4.2鑺傞儴緗睞PIServer鏃訛紝鎴戜滑宸茬粡灝唊ubelet鍜宬ube-proxy宸茬粡鍒嗗彂鍒頒袱minion涓婏紝鎵浠ュ彧闇閰嶇疆docker,kubelet,proxy鐨剈nit鏂囦歡錛岀劧鍚庡惎鍔ㄦ湇鍔″氨鍗沖彲錛屽叿浣撻厤緗GetStartingKubernetes銆?/p>

5. 婕旂ずKubernetes綆$悊瀹瑰櫒

涓轟簡鏂逛究錛屾垜浠嬌鐢↘ubernetes鎻愪緵鐨勪緥瀛?a style="text-decoration: none; color: #286ab2; outline: none !important; margin: 0px; border: 0px; padding: 0px;">Guestbook鏉ユ紨紺篕ubernetes綆$悊璺ㄦ満鍣ㄨ繍琛岀殑瀹瑰櫒錛屼笅闈㈡垜浠牴鎹瓽uestbook鐨勬楠ゅ垱寤哄鍣ㄥ強(qiáng)鏈嶅姟銆傚湪涓嬮潰鐨勮繃紼嬩腑濡傛灉鏄涓嬈℃搷浣滐紝鍙兘浼?xì)鏈変竴瀹氱殑絳夊緟鏃墮棿錛岀姸鎬佸浜巔ending錛岃繖鏄洜涓虹涓嬈′笅杞絠mages闇瑕佷竴孌墊椂闂淬?/p>

5.1 鍒涘緩redis-master Pod鍜宺edis-master鏈嶅姟

[root@kubernetes ~]# cd /tmp/kubernetes/kubernetes/examples/guestbook [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-master.json create pods [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-master-service.json create services 

瀹屾垚涓婇潰鐨勬搷浣滃悗錛屾垜浠彲浠ョ湅鍒板涓媟edis-master Pod琚皟搴﹀埌192.168.230.4銆?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name                                   Image(s)                   Host                Labels                                       Status ----------                             ----------                 ----------          ----------                                   ---------- redis-master                           dockerfile/redis           192.168.230.4/      name=redis-master                            Running 

浣嗛櫎浜嗗彂鐜皉edis-master鐨勬湇鍔′箣澶栵紝榪樻湁涓や釜Kubernetes緋葷粺榛樿鐨勬湇鍔ubernetes-ro鍜宬ubernetes銆傝屼笖鎴戜滑鍙互鐪嬪埌姣忎釜鏈嶅姟閮芥湁涓涓湇鍔P鍙?qiáng)鐩稿簲鐨勭鍙eQ屽浜庢湇鍔P錛屾槸涓涓櫄鎷熷湴鍧錛屾牴鎹產(chǎn)piserver鐨刾ortal_net閫夐」璁劇疆鐨凜IDR琛ㄧず鐨処P鍦板潃孌墊潵閫夊彇錛屽湪鎴戜滑鐨勯泦緹や腑璁劇疆涓?0.10.10.0/24銆備負(fù)姝ゆ瘡鏂板垱寤轟竴涓湇鍔★紝apiserver閮戒細(xì)鍦ㄨ繖涓湴鍧孌典腑闅忔満閫夋嫨涓涓狪P浣滀負(fù)璇ユ湇鍔$殑IP鍦板潃錛岃岀鍙f槸浜嬪厛紜畾鐨勩傚redis-master鏈嶅姟錛屽叾鏈嶅姟鍦板潃涓?0.10.10.206錛岀鍙d負(fù)6379銆?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name                Labels              Selector                                  IP                  Port ----------          ----------          ----------                                ----------          ---------- kubernetes-ro                           component=apiserver,provider=kubernetes   10.10.10.207        80 redis-master        name=redis-master   name=redis-master                         10.10.10.206        6379 kubernetes                              component=apiserver,provider=kubernetes   10.10.10.161        443 

5.2 鍒涘緩redis-slave Pod鍜宺edis-slave鏈嶅姟

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-slave-controller.json create replicationControllers [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-slave-service.json create services 

鐒跺悗閫氳繃list鍛戒護(hù)鍙煡鏂板緩鐨剅edis-slave Pod鏍規(guī)嵁璋冨害綆楁硶璋冨害鍒頒袱鍙癿inion涓婏紝鏈嶅姟IP涓?0.10.10.92錛岀鍙d負(fù)6379

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name                                   Image(s)                   Host                Labels                                       Status ----------                             ----------                 ----------          ----------                                   ---------- redis-master                           dockerfile/redis           192.168.230.4/      name=redis-master                            Running 8c0ddbda-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.5/      name=redisslave,uses=redis-master            Running 8c0e1430-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.4/      name=redisslave,uses=redis-master            Running  [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name                Labels              Selector                                  IP                  Port ----------          ----------          ----------                                ----------          ---------- redisslave          name=redisslave     name=redisslave                           10.10.10.92         6379 kubernetes                              component=apiserver,provider=kubernetes   10.10.10.161        443 kubernetes-ro                           component=apiserver,provider=kubernetes   10.10.10.207        80 redis-master        name=redis-master   name=redis-master                         10.10.10.206        6379 

5.3 鍒涘緩Frontend Pod鍜孎rontend鏈嶅姟

鍦ㄥ垱寤轟箣鍓嶄慨鏀筬rontend-controller.json鐨凴eplicas鏁伴噺涓?錛岃繖鏄洜涓烘垜浠殑闆嗙兢涓彧鏈?鍙癿inion錛屽鏋滄寜鐓rontend-controller.json鐨凴eplicas榛樿鍊?錛岄偅浼?xì)瀵艰嚧鏈?涓狿od浼?xì)璋冨害鍒板悓涓鍙癿inion涓婏紝浜х敓绔彛鍐茬獊錛屾湁涓涓狿od浼?xì)涓鐩村浜巔ending鐘舵侊紝涓嶈兘琚皟搴︺?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c frontend-controller.json create replicationControllers [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c frontend-service.json create services 

閫氳繃鏌ョ湅鍙煡Frontend Pod涔熻璋冨害鍒頒袱鍙癿inion錛屾湇鍔P涓?0.10.10.220錛岀鍙f槸80銆?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name                                   Image(s)                   Host                Labels                                       Status ----------                             ----------                 ----------          ----------                                   ---------- redis-master                           dockerfile/redis           192.168.230.4/      name=redis-master                            Running 8c0ddbda-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.5/      name=redisslave,uses=redis-master            Running 8c0e1430-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.4/      name=redisslave,uses=redis-master            Running a880b119-7295-11e4-8233-000c297db206   brendanburns/php-redis     192.168.230.4/      name=frontend,uses=redisslave,redis-master   Running a881674d-7295-11e4-8233-000c297db206   brendanburns/php-redis     192.168.230.5/      name=frontend,uses=redisslave,redis-master   Running  [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name                Labels              Selector                                  IP                  Port ----------          ----------          ----------                                ----------          ---------- kubernetes-ro                           component=apiserver,provider=kubernetes   10.10.10.207        80 redis-master        name=redis-master   name=redis-master                         10.10.10.206        6379 redisslave          name=redisslave     name=redisslave                           10.10.10.92         6379 frontend            name=frontend       name=frontend                             10.10.10.220        80 kubernetes                              component=apiserver,provider=kubernetes   10.10.10.161        443 

闄ゆ涔嬪錛屼綘鍙互鍒犻櫎Pod銆丼ervice鍙?qiáng)鏇存柊ReplicationController鐨凴eplicas鏁伴噺絳夋搷浣滐紝濡傚垹闄rontend鏈嶅姟錛?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 delete services/frontend Status ---------- Success 

榪樺彲浠ユ洿鏂癛eplicationController鐨凴eplicas鐨勬暟閲忥紝涓嬮潰鏄洿鏂癛eplicas涔嬪墠ReplicationController鐨勪俊鎭?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list replicationControllers Name                   Image(s)                   Selector            Replicas ----------             ----------                 ----------          ---------- redisSlaveController   brendanburns/redis-slave   name=redisslave     2 frontendController     brendanburns/php-redis     name=frontend       2 

鐜板湪鎴戜滑鎯蟲妸frontendController鐨凴eplicas鏇存柊涓?錛屽垯榪欒濡備笅鍛戒護(hù)錛岀劧鍚庡啀閫氳繃涓婇潰鐨勫懡浠ゆ煡鐪媐rontendController淇℃伅錛屽彂鐜癛eplicas宸插彉涓?銆?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 resize frontendController 1  [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list replicationControllers Name                   Image(s)                   Selector            Replicas ----------             ----------                 ----------          ---------- redisSlaveController   brendanburns/redis-slave   name=redisslave     2 frontendController     brendanburns/php-redis     name=frontend       1 

5.4 婕旂ず璺ㄦ満鍣ㄦ湇鍔¢氫俊

瀹屾垚涓婇潰鐨勬搷浣滃悗錛屾垜浠潵鐪嬪綋鍓岾ubernetes闆嗙兢涓繍琛岀潃鐨凱od淇℃伅銆?/p>

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name                                   Image(s)                   Host                Labels                                       Status ----------                             ----------                 ----------          ----------                                   ---------- a881674d-7295-11e4-8233-000c297db206   brendanburns/php-redis     192.168.230.5/      name=frontend,uses=redisslave,redis-master   Running redis-master                           dockerfile/redis           192.168.230.4/      name=redis-master                            Running 8c0ddbda-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.5/      name=redisslave,uses=redis-master            Running 8c0e1430-728c-11e4-8233-000c297db206   brendanburns/redis-slave   192.168.230.4/      name=redisslave,uses=redis-master            Running 

閫氳繃涓婇潰鐨勭粨鏋滃彲鐭ュ綋鍓嶆彁渚涘墠绔湇鍔$殑PHP鍜屾彁渚涙暟鎹瓨鍌ㄧ殑鍚庣鏈嶅姟Redis master鐨凱od鍒嗗埆榪愯鍦?92.168.230.5鍜?92.168.230.4涓婏紝鍗沖鍣ㄨ繍琛屽湪涓嶅悓涓繪満涓婏紝榪樻湁Redis slave涔熻繍琛屽湪涓ゅ彴涓嶅悓鐨勪富鏈轟笂錛屽畠浼?xì)浠嶳edis master鍚屾鍓嶇鍐欏叆Redis master鐨勬暟鎹備笅闈㈡垜浠粠涓ゆ柟闈㈤獙璇並ubernetes鑳芥彁渚涜法鏈哄櫒闂村鍣ㄧ殑閫氫俊錛?/p>

  • 鍦ㄦ祻瑙堝櫒鎵撳紑http://${IPAddress}:8000錛孖PAddress涓篜HP瀹瑰櫒榪愯鐨刴inion鐨処P鍦板潃錛屽叾鏆存紡鐨勭鍙d負(fù)8000錛岃繖閲孖P_Address涓?92.168.230.5銆傛墦寮嫻忚鍣ㄤ細(xì)鏄劇ず濡備笅淇℃伅錛?/p>

    浣犲彲浠ヨ緭鍏ヤ俊鎭茍鎻愪氦錛屽"Hello Kubernetes"銆?Container"錛岀劧鍚嶴ubmit鎸夐挳涓嬫柟浼?xì)鏄窘C轟綘杈撳叆鐨勪俊鎭?/p>

    鐢變簬鍓嶇PHP瀹瑰櫒鍜屽悗绔疪edis master瀹瑰櫒鍒嗗埆鍦ㄤ袱鍙癿inion涓婏紝鍥犳PHP鍦ㄨ闂甊edis master鏈嶅姟鏃朵竴瀹氬緱璺ㄦ満鍣ㄩ氫俊錛屽彲瑙並ubernetes鐨勫疄鐜版柟寮忛伩鍏嶄簡鐢╨ink鍙兘鍦ㄥ悓涓涓繪満涓婂疄鐜板鍣ㄩ棿閫氫俊鐨勭己闄鳳紝瀵逛簬Kubernetes璺ㄦ満鍣ㄩ氫俊鐨勫疄鐜版柟娉曪紝浠ュ悗鎴戜細(xì)璇︾粏浠嬬粛銆?p style="margin: 0px 0px 15px; padding: 0px; border: 0px; float: none; line-height: 1.8; clear: none; width: 585px;"> 

  • 浠庝笂闈㈢殑緇撴灉錛屽彲寰楃煡宸茬粡瀹炵幇浜嗚法鏈哄櫒鐨勯氫俊錛岀幇鍦ㄦ垜浠粠鍚庣鏁版嵁灞傞獙璇佷笉鍚屾満鍣ㄥ鍣ㄩ棿鐨勯氫俊銆傛牴鎹笂闈㈢殑杈撳嚭緇撴灉鍙戠幇Redis slave鍜孯edis master鍒嗗埆璋冨害鍒頒袱鍙頒笉鍚岀殑minion涓婏紝鍦?92.168.230.4涓繪満涓婃墽琛宒ocker exec -ti c41711cc8971 /bin/sh錛宑41711cc8971鏄疪edis master鐨勫鍣↖D錛岃繘鍏ュ鍣ㄥ悗閫氳繃redis-cli鍛戒護(hù)鏌ョ湅浠庢祻瑙堝櫒杈撳叆鐨勪俊鎭涓嬶細(xì)

    濡傛灉鎴戜滑鍦?92.168.230.5涓婅繍琛岀殑Redis slave瀹瑰櫒閲屾煡鍒拌窡Redis master瀹瑰櫒閲岀浉鍚岀殑淇℃伅錛岄偅璇存槑Redis master鍜孯edis slave涔嬮棿鐨勬暟鎹悓姝ユ甯稿伐浣滐紝涓嬮潰鏄粠192.168.230.5涓婅繍琛岀殑Redis slave瀹瑰櫒鏌ヨ鍒扮殑淇℃伅錛?/p>

    鐢辨鍙Redis master鍜孯edis slave涔嬮棿鏁版嵁鍚屾姝e父錛孫VS GRE闅ч亾鎶鏈嬌寰楄法鏈哄櫒闂村鍣ㄦ甯擱氫俊銆?/p>

6. 緇撹

鏈枃涓昏浠嬬粛濡備綍鍦ㄦ湰鍦扮幆澧冮儴緗睰ubernetes闆嗙兢鍜屾紨紺哄浣曢氳繃Kubernetes綆$悊闆嗙兢涓繍琛岀殑瀹瑰櫒錛屽茍閫氳繃OVS綆$悊闆嗙兢涓嶅悓minion鐨凱od涔嬮棿鐨勭綉緇滈氫俊銆傛帴涓嬫潵浼?xì)瀵筀ubernetes鍚勪釜緇勪歡婧愮爜榪涜璇︾粏鍒嗘瀽錛岄槓榪癒ubernetes鐨勫伐浣滃師鐞嗐?/p>

7. 涓漢綆浠?/h2>

鏉ㄧ珷鏄撅紝鐜板氨鑱屼簬Cisco錛屼富瑕佷粠浜媁ebEx SaaS鏈嶅姟榪愮淮錛岀郴緇熸ц兘鍒嗘瀽絳夊伐浣溿傜壒鍒叧娉ㄤ簯璁$畻錛岃嚜鍔ㄥ寲榪愮淮錛岄儴緗茬瓑鎶鏈紝灝ゅ叾鏄疓o銆丱penvSwitch銆丏ocker鍙?qiáng)鍏剁敓鎬佸湀鎶鏈紝濡侹ubernetes銆丗locker絳塂ocker鐩稿叧寮婧愰」鐩侲mail: yangzhangxian@gmail.com

8. 鍙傝冭祫鏂?/h2>
  1. https://n40lab.wordpress.com/2014/09/04/openvswitch-2-3-0-lts-and-centos-7/
  2. https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/guestbook

鎰熻阿閮暰瀵規(guī)湰鏂囩殑絳栧垝鍜屽鏍°?/p>

]]> Kubernetes浣跨敤闂鎬葷粨http://m.tkk7.com/xiaomage234/archive/2016/10/25/431923.html灝忛┈姝?/dc:creator>灝忛┈姝?/author>Tue, 25 Oct 2016 06:23:00 GMThttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431923.htmlhttp://m.tkk7.com/xiaomage234/comments/431923.htmlhttp://m.tkk7.com/xiaomage234/archive/2016/10/25/431923.html#Feedback0http://m.tkk7.com/xiaomage234/comments/commentRss/431923.htmlhttp://m.tkk7.com/xiaomage234/services/trackbacks/431923.html

鍔犲揩Kubernetes緙栬瘧閫熷害

闄や簡Linux/amd64錛岄粯璁よ繕浼?xì)湄?fù)鍏朵粬騫沖彴鍋氫氦鍙夌紪璇戙備負(fù)浜嗗噺灝戠紪璇戞椂闂達(dá)紝鍙互淇敼hack/lib/golang.sh錛屾妸KUBE_SERVER_PLATFORMS錛?KUBE_CLIENT_PLATFORMS鍜孠UBE_TEST_PLATFORMS涓櫎linux/amd64浠ュ鐨勫叾浠栧鉤鍙版敞閲婃帀

gcr.io鏃犳硶璁塊棶

Kubernetes鍦ㄥ垱寤篜od鐨勬椂鍊欙紝闇瑕佷粠gcr.io涓嬭澆涓涓猦elper闀滃儚錛堢洰鍓嶆槸 gcr.io/google_containers/pause-amd64:3.0 錛夈?/p>

浣嗘槸鐩墠鍥藉唴鏃犳硶璁塊棶gcr.io錛岃繖涓棶棰樹細(xì)瀵艱嚧鏃犳硶涓嬭澆璇ラ暅鍍忥紝鐒跺悗Pod涓鐩村浜嶤ontainerCreating鐘舵併?/p>

瑙e喅鍔炴硶

1) 鍦ㄥ彲浠ヨ闂甮cr.io鐨勫湴鏂?/span>

docker pull gcr.io/google_containers/pause-amd64:3.0

浼犲埌縐佹湁docker registry

docker tag gcr.io/google_containers/pause-amd64:3.0 k8s-docker.mydomain.com/google_containers/pause-amd64:3.0

docker push k8s-docker.mydomain.com/google_containers/pause-amd64:3.0

2) 鍦ㄦ墍鏈夌殑k8s鑺傜偣

docker pull k8s-docker.mydomain.com/google_containers/pause-amd64:3.0
docker tag k8s-docker.mydomain.com/google_containers/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0

Note

涓嶉氳繃縐佹湁registry涓漿錛岃屾槸浣跨敤Docker save/load搴旇涔熷彲浠ワ紝鍙槸瑕佹妸save瀵煎嚭鐨勬枃浠跺鍒跺埌鎵鏈夎妭鐐?

濡備綍浠庨泦緹ゅ璁塊棶Service鍜孭od

榪欓噷璇寸殑闆嗙兢澶栨槸鎸嘖8s闆嗙兢浠ュ鐨勪富鏈猴紝姣斿浣跨敤nginx/HAProxy鎼緩鐨勮礋杞藉潎琛′富鏈恒傝繖浜涗富鏈鴻窡K8s闆嗙兢閮ㄧ講鍦ㄤ竴璧鳳紝鍒癒8s緗戠粶鍙揪銆?/p>

瀵逛簬涓嶆槸閮ㄧ講鍦℅CE浠ュ強(qiáng)AWS絳変簯騫沖彴鐨凨8s錛屾垜浠竴鑸渶瑕佽嚜宸辨惌寤鴻礋杞藉潎琛★紝鐒跺悗鍒嗗彂璇鋒眰鍒板埌Service銆?/p>

浣跨敤NodePort鏂瑰紡鍙戝竷鏈嶅姟錛岄偅涔堣礋杞藉潎琛′富鏈轟笂涓嶉渶瑕侀澶栭厤緗紱浣跨敤ClusterIP鏂瑰紡錛屼負(fù)浜嗚兘澶熻闂甋ervice鐨凜lusterIP錛?闇瑕佸湪榪欎簺涓繪満涓婂畨瑁匜lanneld鍜宬ube-proxy



]]>
主站蜘蛛池模板: 男人的好免费观看在线视频| 免费福利在线视频| 日韩午夜免费视频| 亚洲国产精品网站在线播放| 岛国片在线免费观看| 亚洲熟妇自偷自拍另欧美| 最近中文字幕mv手机免费高清| 亚洲综合一区国产精品| 全免费一级午夜毛片| 含羞草国产亚洲精品岁国产精品| 日本午夜免费福利视频| 99精品国产成人a∨免费看| 亚洲综合区小说区激情区| 国产黄在线播放免费观看| 亚洲国产无套无码av电影| 性xxxxx大片免费视频| 亚洲小视频在线播放| 欧洲精品免费一区二区三区| 国产精品亚洲专区一区| 久久影院亚洲一区| 久久免费视频99| 亚洲中文字幕一区精品自拍| 免费在线观看视频a| 华人在线精品免费观看| 亚洲乱码一二三四区国产| 国产精品99久久免费| 美女网站在线观看视频免费的| 久久精品亚洲综合专区| 两性刺激生活片免费视频| 国产精品亚洲综合天堂夜夜| 亚洲国产精品无码久久久蜜芽 | 亚洲色偷偷色噜噜狠狠99网| 亚洲高清免费视频| 无码专区AAAAAA免费视频| 亚洲人成网站18禁止| 亚洲色精品vr一区二区三区 | 国产又大又粗又硬又长免费| 亚洲av成人一区二区三区在线播放| 亚洲精品成人片在线观看| 美女内射无套日韩免费播放| 日日摸日日碰夜夜爽亚洲|