Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Kubernetes ¿ª·¢Ö¸ÄÏ
 
  2370  次浏览      43
 2018-3-5 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚIBM£¬±¾ÎĽ«Õ¹Ê¾ÈçºÎͨ¹ýÉèÖà Ubuntu ²¢ÔÚÆäÉÏ¿ª·¢ºÍ²âÊÔ Kubernetes¡£

Kubernetes ÊÇÒ»×éÓà go ±àдµÄÓ¦ÓóÌÐò¡£ÕâЩӦÓóÌÐòÒ»ÆðÐγÉÁ˹ÜÀíÈÝÆ÷µÄ½»»¥Ê½Æ½Ì¨¡£Kubernetes Ò²ÊÇ¿ªÔ´µÄ£¬¿ÉÔÚ GitHub ÉÏ»ñµÃ¡£ Kubernetes ÓÉ Google ¾èÔù¸ø Cloud Native Computing Foundation¡£Kubernetes ¿ÉÔÚÐí¶à²Ù×÷ϵͳÉÏÔËÐС£µ«ÊÇ£¬¶ÔÓÚ±¾Ö¸ÄÏ£¬ÎÒÃǽ«Õ¹Ê¾ÈçºÎͨ¹ýÉèÖà Ubuntu ²¢ÔÚÆäÉÏ¿ª·¢ºÍ²âÊÔ Kubernetes¡£

¿ª·¢»·¾³ÐèÇó

»ù±¾µÄ Kubernetes ¿ª·¢»·¾³¾ßÓÐÒÔÏÂÒªÇó£º

1.Linux ÖÕ¶Ë

2.ssh

3.golang

4.Docker

5.Git ºÍ GitHub ÕÊ»§

6.godep

Èç¹ûÄúÒÑʹÓÃ×Ô¼ºÏ²»¶µÄ·½Ê½Íê³ÉËùÓÐÕâЩÉèÖã¬ÄÇô¿ÉÒÔÌøµ½"·ÖÖ§ºÍ¿Ë¡"¡£

ÔÚÐéÄâ»úÉÏÉèÖÃÖ÷»ú²Ù×÷ϵͳ

ÄúÐèÒª×öµÄµÚÒ»¼þʾÍÊǰ²×° Ubuntu¡£Ubuntu 16.04 LTS ·þÎñÆ÷»ò×ÀÃæ°æ¾Í×ã¹»ÓÃÁË¡£Ò²¿ÉÒÔʹÓà 14.04¡¢15.10 µÈ°æ±¾£¬¾ö¶¨È¨ÔÚÄúÊÖÉÏ¡£ÎÒÔÚ Mac? ÉϵÄÒ»¸öÐéÄâ»ú (VM) ÖÐͨ¹ý×îÐ嵀 Virtual Box ÔËÐÐ Ubuntu 16.04 LTS¡£ÔÚ Virtual Box ÉÏÉèÖà Ubuntu£º

1.ÏÂÔØ²¢°²×° Virtual Box

2.ÏÂÔØÒ»¸ö Ubuntu 16.04 ISO Îļþ£¨·þÎñÆ÷/×ÀÃæ°æ£©

3.ʹÓøÕÏÂÔØµÄ Ubuntu ISO ´´½¨Ò»¸öРvbox¡£

Virtual Box ÉèÖ㨽¨Ò飩

1.»ù´¡ÄÚ´æ 4g

2.80g vdi Ó²ÅÌ

3.¹²Ïí¼ôÌù°å - ½öË«Ïò£¨Èç¹û°²×°×ÀÃæ°æ£©

4.ÐéÄâÄÚ´æ 128mb£¨Èç¹û°²×°×ÀÃæ°æ£©

5.ÍøÂ磺NAT

6.°²×° Guest Additions£¨Õâ¸öÊDZØÐëµÄ£©

7.VirtualBox VM -> Devices -> Insert Guest Additions CD Image¡­£¨Èç¹û°²×°×ÀÃæ°æ£©

8.¶Ë¿Úת·¢

ÉèÖÃ Ubuntu

Èç¹ûʹÓà Ubuntu ×ÀÃæ°æ£¬Çë¼ÌÐø´´½¨Ò»¸öÖÕ¶Ëͼ±ê£º

È»ºóÔËÐÐÈí¼þ¸üгÌÐò£º

´ÓÖÕ¶ËÔËÐÐ apt-get update ÃüÁ

¿ªÊ¼Ê¹Óà ssh

ʹÓÃÄúµÄ pc/mac ¿Í»§¶Ëͨ¹ý ssh Á¬½Óµ½ÄúµÄ Ubuntu ·þÎñÆ÷/×ÀÃæ°æ¡£Èç¹û°²×°ÁË Ubuntu ×ÀÃæ°æ²¢Ï£ÍûÔËÐÐ ssh£º

$ sudo apt-get install openssh-server
$ sudo service ssh start or sudo /etc/init.d/ssh start
$ ssh -v localhost

´Ó¿Í»§¶Ë»úÆ÷£¨Ê¹ÓÃÃÜÂ룩µÇ¼µ½ ssh ·þÎñÆ÷£º

ÔÚÕâ¸öʾÀýÖУ¬ÉÏÃæÖ¸¶¨µÄ·ÓÉ´¦Àí³ÌÐò½« 127.0.0.1:2222 TCP/IP °üת·¢µ½ÔÚ VM ÖÐÔËÐÐµÄ·Ã¿Í ssh ·þÎñÆ÷¡£·Ã¿Í ssh ·þÎñÆ÷ÔÚ¶Ë¿Ú 22 ÉϼàÌý·¢Íù IP µØÖ· 10.0.2.15 µÄÊý¾Ý°ü¡£ÔÚÆäËûÉèÖÃÖУ¬Äú¿ÉÄÜÓµÓв»Í¬µÄ IP µØÖ·£¬Ò²¿ÉÄÜûÓÐÆôÓö˿Úת·¢¡£ÀýÈ磬Èç¹ûÄúµÄ·Ã¿ÍµÄ IP µØÖ·Îª 192.168.120.129£¨Í¨¹ýÃüÁî $ hostname -I ´ÓÖÕ¶Ë·µ»Ø£©£¬¶øÇÒûÓÐÉèÖö˿Úת·¢¹æÔò£¬ÄÇô¿ÉÒÔͨ¹ýÏÂÃæµÄÃüÁîµÇ¼£º

$ ssh mike@192.168.120.129

ÅäÖÃ ssh

ÔËÐÐ e2e Kubernetes ²âÊÔÐèÒªÅäÖÃÎÞÃÜÂëµÄ ssh£¨Ê¹ÓÃÃÜÔ¿¶ø²»ÊÇÃÜÂ룩¡£

Ê×ÏÈ´Ó Ubuntu ÖÕ¶ËÉú³É Ubuntu ¹«Ô¿ºÍ˽Կ£º $ ssh-keygen -t rsa ʹÓÃĬÈÏλÖò¢ÊäÈëÒ»¸öÃÜÂ룬»òÕß½öµ¥»÷ Enter $ ssh-copy-id mike@10.0.2.15¡£

È»ºóÔÚ Mac ÖÕ¶ËÖеÄÄúµÄ Mac ÉÏ£¬´Ó ~/.ssh Ŀ¼ÊäÈ룺

$ ssh-keygen -b 1024 -t rsa -f id_rsa -P "" ½«ÄúµÄ Mac ¹«Ô¿£¨ÀýÈçcat ~/.ssh/id_rsa.pub£©¸´ÖƲ¢Õ³Ìùµ½ Ubuntu ·Ã¿ÍµÄ /home/mike/.ssh/authorized_keys ÎļþÖС£Íê³É´Ë²Ù×÷µÄÒ»ÖÖ·½·¨ÊÇ£¬Í¨¹ý ssh Á¬½Óµ½ÄúµÄÖ÷»ú£¬²¢Í¨¹ý nano ±à¼­ authorized_keys Îļþ¡£ÇëÔÚÉèÖÃÎÞÃÜÂë ssh ֮ǰִÐÐÕâÒ»²½¡£³¢ÊÔÔÚ²»Ö§³Ö¼ôÇкÍÕ³ÌùµÄÖն˱༭Æ÷ÖÐÊäÈ빫ԿÊÇÎÞÒâÒåµÄ¡£

½ÓÏÂÀ´ÔÚ Ubuntu ÖÕ¶ËÉÏΪÄúµÄ Ubuntu ·Ã¿ÍÅäÖÃÎÞÃÜÂë ssh£º

$ sudo nano /etc/ssh/sshd_config

È¡Ïû×¢ÊÍ/ÅäÖãº

PubkeyAuthentication yes
AuthorizedKeyFile %h/.ssh/authorized_keys
PasswordAuthentication no
PermitRootLogin without-password
$ sudo service ssh restart »ò sudo /etc/init.d/ssh restart

²âÊÔËü£º

$ ssh mike@ubuntu (ubuntu = Ö÷»úÃû) »ò ssh 127.0.0.1 »ò ssh 10.0.2.15 ¡­

È·±£¸ÃÁ¬½ÓÓÐЧ£¬È»ºóÍ˳ö¡£

ÒòΪÎÒÃǽ«Í¨¹ýÎÞÃÜÂëÐÎʽÒÔ root Óû§Éí·ÝµÇ¼£¬ËùÒÔÈÃÎÒÃDzÉȡһÖÖ±ã½Ý·½·¨£¬½«Óû§¹«Ë½Ô¿ºÍ authorized_keys ¸´ÖƵ½ /root/.ssh£¬ÀýÈ磺

$ sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys£¨Äú¿ÉÄÜÐèÒªÖ´ÐÐ mkdir /root/.ssh£©
$ sudo cp ~/.ssh/id_rsa /root/.ssh/id_rsa
$ sudo cp ~/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub

ÄúÏÖÔÚÓ¦ÄÜ´Ó Mac ÖÕ¶ËÉϵÄÓû§ÕÊ»§£¬ÒÔ root Óû§»òÆÕͨÓû§Éí·Ý²»Ê¹ÓÃÃÜÂëͨ¹ý ssh Á¬½Óµ½·Ã¿Í Ubuntu£º

ÖÕ¶Ë 1£ºssh -p 2222 root@127.0.0.1
ÖÕ¶Ë 2£ºssh -p 2222 mike@127.0.0.1

Äú»¹Ó¦¸ÃÄÜÀûÓà Ubuntu Ö÷»úÉϵÄÓû§ÕÊ»§»ò root Óû§ÕÊ»§£¬Í¨¹ý ssh Á¬½Óµ½ Ubuntu Ö÷»úÉϵÄÓû§ÕÊ»§ºÍ root Óû§ÕÊ»§£º

$ ssh root@10.0.2.15
$ sudo ssh root@10.0.2.15

°²×° go

ÏÂÔØ£ºhttps://golang.org/dl/

$ sudo curl -O https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.gz

½âѹ£º

$ sudo tar -xvf go1.6.linux-amd64.tar.gz
$ sudo mv go /usr/local

ÅäÖû·¾³±äÁ¿£º

$ sudo nano ~/.profile

Ìí¼ÓÒÔÏÂÐУº

export GOPATH=/home/mike/go
export PATH=$PATH:/usr/local/go/bin:/home/mike/go/bin

²âÊÔÅäÖãº

mike@mike-VirtualBox:~/go$ go version
go version go1.6.1 linux/amd64

ÒªÀûÓÃÓû§¸öÈË×ÊÁÏÒÔ root Óû§Éí·ÝÀ´ÔËÐУ¬¿ÉÒԱ༭ÒÔÏÂÄÚÈÝ£º

$ sudo su ¨C
# source /home/mike/.profile

²âÊÔÄúµÄÅäÖãº

root@mike-VirtualBox:~# go version
go version go1.6 linux/amd64

°²×° Docker

Çë·ÃÎÊ£ºhttps : // docs . docker . com / engine / installation / linux / ubuntulinux /

°²×° Docker£º

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ sudo nano /etc/apt/sources.list.d/docker.list

ÎļþÓ¦°üº¬ÒÔÏÂÄÚÈÝ£¨¶ÔÓÚ 14.04 °æ£¬ËüÓÖ±»³ÆÎª trusty£©£ºdeb https://apt.dockerproject.org/repo ubuntu-trusty main ÎļþÓ¦°üº¬ÒÔÏÂÄÚÈÝ£¨¶ÔÓÚ 16.04£¬ËüÓÖ±»³ÆÎª xenial£©£ºdeb https://apt.dockerproject.org/repo ubuntu-xenial main Òª°²×° Docker µÄ beta °æ±¾£¬¿ÉʹÓà testing ´úÌæ main¡£

$ sudo apt-get update
$ sudo apt-get install linux-image-extra-$(uname -r)
$ sudo apt-get install docker-engine

ÒªÌôѡһ¸öÌØ¶¨µÄ Docker °æ±¾£ºsudo apt-get install docker-engine=1.10.3-0~trusty

$ sudo service docker start

²âÊÔÄúµÄ Docker °²×°£º

$ sudo docker run hello-world

½«Äú×Ô¼ºÌí¼Óµ½ Docker ×éÖУ¬¸Ã×éÒÔ sudo Éí·ÝÔËÐУº

$ sudo usermod -aG docker mike

ÖØÐµÇ¼

ÔٴβâÊÔÄúµÄ Docker °²×°£º

$ docker run hello-world

°²×° etcd

$ curl -L https://github.com/coreos/etcd/

releases/download/v3.0.4/etcd-v3.0.

4-linux-amd64.tar.gz -o etcd-v3.0.4-

linux-amd64.tar.gz
$ tar xzvf etcd-v3.0.4-linux-amd64.tar.gz

½« /home/mike/etcd-v3.0.4-linux-amd64 Ìí¼Óµ½ÄúµÄ ~/.profile ·¾¶ÖÐ

ÔÚµÚÒ»¸öÖÕ¶ËÖУ¬ÔËÐУº

$ etcd

ÔÚµÚ¶þ¸öÖÕ¶ËÖУ¬ÔËÐУº

$ etcdctl set mykey "this is a test"
$ etcdctl get mykey

½¨Á¢·ÖÖ§

ÔÚ github ÉÏΪÁ½¸öÖÕ¶Ë´´½¨ÄúµÄ¿ª·¢·ÖÖ§

https://github.com/kubernetes/kubernetes

ºÍ

https://github.com/kubernetes/kubernetes.github.io

¿Ë¡ÄúµÄ·ÖÖ§

ͨ³££¬µ±¿Ë¡ github.com Ô´´úÂë´æ´¢¿âʱ£¬»áʹÓ÷¾¶ $GOPATH/src/£¨github ÖеÄÔ´´úÂëµÄ·¾¶£©¡£ÕâÊÇΪÁË·½±ãʹÓà go get type ÃüÁî»ñÈ¡ github ÍйܵÄÊý¾Ý°ü¡£µ«ÊÇ£¬³öÓÚÒÅÁôµÄÔ­Òò£¬Kubernetes °ü±»ÃüÃûΪ k8s.io/kubernetes£¬¶ø²»ÊÇÄú¿ÉÄÜÏëµ½µÄ github.com/kubernetes/kubernetes¡£Òò´Ë£¬ÒªÈÃËùÓпª·¢¹¤¾ßÕý³£¹¤×÷²¢ÄÜÔÚ´ÅÅÌÉÏÕÒµ½ÄúµÄÊý¾Ý°ü´úÂ룬ÐèÒª½«¿Ë¡°æ±¾·ÅÔÚ k8s.io Ŀ¼ÖС£

ʹÓÃÒÔϲ½Öè´ÓÄúµÄÃû³Æ/kubernetes ·ÖÖ§´´½¨ k8s.io/kubernetes Ô´´úÂëÊ÷£º

mike@mike-VirtualBox:~/go/src$ mkdir k8s.io
mike@mike-VirtualBox:~/go/src$ cd k8s.io
$ git clone https://github.com/mikebrow/kubernetes.git
$ git clone https://github.com/mikebrow/kubernetes.github.io.git

½á¹û£ºÔ´Îļþ´ÓÄúµÄ·ÖÖ§¸´ÖÆ£¨¿Ë¡£©µ½ go/src/k8s.io/kubernetes ºÍ k8s.io/kubernetes.github.io.git Ŀ¼¡£Git ÔÚÄúµÄ±¾µØÓ²ÅÌÉÏΪÄúµÄ github ·ÖÖ§´´½¨Ò»¸öÖ÷·ÖÖ§¡£

¼ì²é·ÖÖ§µÄ״̬£º

$ cd kubernetes
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

Github ¸öÈË×ÊÁϽ¨Òé

ÏòÄúµÄ¹«¿ª¸öÈË×ÊÁÏÌí¼ÓÒ»¸öµç×ÓÓÊÏä

ÆôÓÃË«ÒòËØÉí·ÝÑéÖ¤

Git ¿Í»§¶ËÅäÖý¨Òé

½« user.* ÌõÄ¿ÉèÖÃΪȫ¾ÖºÍ/»ò±¾µØ£º

$ git config --local user.name "Full name here"
$ git config --local user.email "email address here"

»ò£º

$ git config --global user.name "Full name here"
$ git config --global user.email "email address here"

ÈÃÍÆËͱäµÃ¸üÈÝÒ×£º

$ git config --global push.default simple

ËùÒÔÄú²»ÐèҪÿ´Î¶¼¼Çס github ƾ֤£º

$ git config credential.helper store

Ìí¼ÓÒ»¸öÔ¶³ÌÃüÃûÉÏÓΣ¬ÒÔ±ãÔÚÓ²ÅÌÉϵĿË¡·ÖÖ§Óë kubernetes/kubernetes Ö®¼ä»ñÈ¡/ÍÆË͸ü¸Ä£º

$ git remote add upstream https://github.com/kubernetes/kubernetes.git

ÔËÐÐ git config -l µÄ½á¹ûÓ¦ÀàËÆÓÚ£º

user.name=Mike Brown
user.email=brownwm@us.ibm.com
push.default=simple
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://github.com

/mikebrow/kubernetes.git
remote.origin.fetch=+refs/heads/*:

refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
remote.upstream.url=https://github.com

/kubernetes/kubernetes.git
remote.upstream.fetch=+refs/heads/*:refs

/remotes/upstream/*
credential.helper=store

ÍÆ¼ö Kubernetes ÍŶÓÖ´ÐÐÒÔϲ½Öè¡£±¸×¢£ºÏÂÃæµÄÁ´½ÓÏò git Ìá½»ÃüÁîÌí¼ÓÁËÒ»¸ö·Ç³£´óµÄ¹¹½¨ºÍÑéÖ¤ÃüÁºÏ£¬ÔÚÄúÌá½»¶ÔÄúµÄ·ÖÖ§Ëù×öµÄ¸ü¸Äʱ£¬»áÔËÐиü¯ºÏ¡£

$ cd .git/hooks/
$ ln -s ../../hooks/pre-commit .

Èç¹ûûÓÐÁ´½Ó pre-commit ÃüÁÄú¿ÉÄÜÍÆËÍÁËÒ»¸ö²»ºÏ¸ñµÄ PR¡£ÀýÈ磬Èç¹ûÄúÐÞ¸ÄÁË k8s.io/kubernetes ·ÖÖ§ÉϵÄÎĵµ£¬¶øÇÒÄúûÓÐÔËÐÐÏàÓ¦µÄÎĵµ½Å±¾£¬Äú¿ÉÄÜ»áÇ©Èë±»´íÎóÐ޸ĵÄÎĵµ¡£

Git ¹¤×÷Á÷

ÏÂͼÏÔʾÁËÒ»¸ö²éÕÒºÍÐÞ¸´ GitHub ÉϵĿªÔ´²úÆ·µÄÎÊÌâµÄµäÐÍ git ¹¤×÷Á÷¡£¾¡¹Ü´Ë¹¤×÷Á÷ÊÇΪ Docker Éè¼ÆµÄ£¬µ«ËüÒ²ÊÊÓÃÓÚ Kubernetes¡£

ÈçÏÂͼËùʾ£¬ÔÚÕâÀï²éÕÒÒª½â¾öµÄÎÊÌ⣺https://github.com/kubernetes/kubernetes/issues

ÔÚÄúÕÒµ½µÄÎÊÌâÉÏÌí¼ÓÒ»Ìõ×¢ÊÍ¡£

1.Èç¹ûÄúÓÐÈκÎÒÉÎÊ£¬Ò²Çë²»Òªº¦Ðß¡£

2.Èç¹ûÏ£Íû½â¾öÎÊÌ⣬Çë˵³öÄúµÄÎÊÌâ¡£

µ÷ÓÃ #dibs

1.ÏòÎÊÌâÌí¼ÓÒ»Ìõ #dibs ×¢ÊÍ£¬¸æË߯äËûÈËÄú½«³¢ÊÔ½â¾ö¸ÃÎÊÌâ¡£µ÷Óà dibs ÊÇÒ»¾ä¿ÚÓ±íÃ÷ÆäËûÈ˳ÐÈÏÄúÊ×ÏÈÒªÇó½â¾ö´ËÎÊÌâ¡£ËüÏ൱ÓÚÔÚÏò¹ÛÖÚÌá³öÒ»¸öÎÊÌâʱ£¬ÄúÏȾÙÊÖÁË¡£

2.Èç¹ûÄú²»È·¶¨×Ô¼ºÄÜ·ñ½â¾ö¸ÃÎÊÌâ¡­¡­ÖÁÉÙÓ¦¸ÃʹÓÃÒ»Ìõ #investigating ×¢ÊÍÐû¸æÄúÕýÔÚÖ´Ðе÷²é·ÖÎö¡£Õâ¸öÎÊÌâûÓзÖÅ䏸Äú£¬Õâ²¢²»±íʾÄúÓнâ¾ö·½·¨£¬µ«Ëü¿ÉÒÔÈÃÆäËûÈËÖªµÀ£¬ÄúÔÚÒÔºó¿ÉÄܵ÷Óà dibs »ò´ò¿ªÒ»¸öÀ­È¡ÇëÇó¡£

¹¹½¨ Kubernetes

Òª¹¹½¨ÔÚ±¾µØÔËÐеĶþ½øÖƳÌÐò£º

$ sudo make

e2e ²âÊÔ˵Ã÷£º¶ÔÓÚĬÈ쵀 e2e ²âÊÔÑ¡Ïµ±¿Í»§¶ËºÍ·þÎñÆ÷µÄ°æ±¾²»Í¬²½Ê±£¬e2e ²âÊÔ²»»áÔËÐС£ÐÂÔö£ºÄúÏÖÔÚ¿ÉÒÔÉèÖà check_version_skew=false£¬ÒÔ±ãʹÓò»Í¬²½µÄ°æ±¾À´ÔËÐÐ e2e¡£

¸ù¾ÝÄúËù×öµÄ¸ü¸Ä£¬²»Ò»¶¨Òª¹¹½¨¿Í»§¶Ë/·þÎñÆ÷¡£ÒªÇ¿ÖƶþÕßͬ²½£¨Çå³ý/ɾ³ý¹¹½¨¶þ½øÖÆÎļþ£©£¬¿ÉʹÓãº

$ sudo make clean

ÒªÉú³ÉÒ»¸ö°æ±¾£º


$ make release

ÒªÉú³ÉÒ»¸ö°æ±¾¶ø²»ÔËÐвâÊÔ£º

$ make release-skip-tests

²âÊÔ Kubernetes£¨µ¥ÔªºÍ¼¯³É²âÊÔ£©

µ¥Ôª²âÊÔ£º

$ sudo make test

½öÔËÐÐ pkg/api ²âÊÔ£º

mike@mike-VirtualBox:~/go/src/k8s.io/kubernetes$ sudo WHAT=../../k8s.io/kubernetes/pkg/api make test

¼¯³É²âÊÔ£º

$ sudo make test-integration

Kubernetes e2e ²âÊÔ

ÔËÐÐ Kubernetes e2e ²âÊÔÐèҪʹÓü¯Èº¡£e2e ²âÊÔ¿ÉÔÚÈκμæÈÝ Kubernetes µÄ¼¯ÈºÉÏÔËÐС£±¾Ö¸ÄÏչʾÁËÈçºÎ´´½¨Ò»¸öÔÚ Linux »·¾³ÖÐÔËÐеĵ¥½Úµã¼¯Èº¡£Èç¹û°´ÕÕÉÏÊö˵Ã÷½øÐвÙ×÷£¬´Ë¼¯Èº½«ÔÚÄúµÄ VM ÖÐµÄ Ubuntu ·Ã¿ÍϵͳÖÐÔËÐС£ÎÒÃǽ«Ê¹ÓÃÁ½¸öÖÕ¶Ë¡£

ÔÚÖÕ¶Ë 1 ÖУ¬¹¹½¨ Kubernetes£º

$ sudo make clean
$ sudo make

ÔÚÔËÐб¾µØ¼¯ÈºÖ®Ç°È·±£ÄãÒѾ­°²×° cfssl£º

$ go get -u github.com/cloudflare/cfssl/cmd/...

Æô¶¯ÄúµÄ±¾µØ¼¯Èº£º

$ sudo PATH=$PATH KUBERNETES_PROVIDER=local hack/local-up-cluster.sh

ÔÚÖÕ¶Ë 2 ÖУ¬ÅäÖà kubectl À´Óë±¾µØ¼¯Èº½»»¥£º

$ export KUBERNETES_PROVIDER=local
$ cluster/kubectl.sh config set-cluster local

--server=https://localhost:6443 --certificate-authority

=/var/run/kubernetes/apiserver.crt
$ cluster/kubectl.sh config set-credentials myself

--username=admin --password=admin
$ cluster/kubectl.sh config set-context local

--cluster=local --user=myself
$ cluster/kubectl.sh config use-context local

¼ì²éÄúµÄµ¥½Úµã±¾µØ¼¯ÈºµÄ״̬£º

$ cluster/kubectl.sh get nodes
NAME 127.0.0.1
STATUS Ready
AGE 10m
VERSION v1.6.0-alpha.0.2912+de59ede6b2f4c2-dirty

ΪÔÚµ¥½Úµã±¾µØ¼¯ÈºÉÏÔËÐÐ e2e ²âÊÔ£¬¿É½«ÒÔÏ´úÂëÌí¼Óµ½ ~/.profile ÖнøÐÐÅäÖãº

export KUBECONFIG=/home/mike/.kube/config

¼ì²éÄúµÄ»·¾³£º

mike@mike-VirtualBox:~/go/src/k8s.io/

kubernetes$

env | grep kube
KUBECONFIG=/home/mike/.kube/config
PATH=/home/mike/Downloads/google-cloud-sdk/bin:/usr/local

/sbin:/usr/local/bin:/usr/sbin

:/usr/bin:/sbin:/bin:/usr/games:/usr

/local/games

:/home/mike/go/bin:/snap/bin:/home/mike

/go/bin:/home

/mike/.rvm/bin:/home/mike/go/src/github.

com/kubernetes

/kubernetes/third_party/etcd:/home/mike/.

rvm/bin
PWD=/home/mike/go/src/k8s.io/kubernetes

Íê³É Kubernetes ¼¯ÈºµÄʹÓú󣬿ÉÔÚÖÕ¶Ë 1 Öа´ ctrl-c À´¿ìËٹرÕËü¡£

ÔËÐÐÎĵµÏà¹Ø½Å±¾

±à¼­ kubernetes/kubernetes ·ÖÖ§ÖеÄÎĵµÏà¹ØÎļþºó£¬ÔÚÖ´ÐÐ git Ìύ֮ǰʹÓÃËüÃÇ£º

$ sudo hack/update-all.sh±¸×¢£ºÐèҪΪ sudo ºÍ $user °²×° gedep

Ò²¿ÉÒÔµ÷ÓÃÒÔÏÂÃüÁ»òÕßÖ´ÐÐÒ»´ÎÌá½»²¢È·¶¨ÄúÐèÒªÔËÐÐÒÔÏÂÄÄÌõÃüÁ

$ sudo hack/update-generated-docs.sh
$ sudo hack/update-generated-swagger-docs.sh
$ sudo hack/update-swagger-spec.sh

kubernetes.github.io Îĵµ

Ðí¶à kubernetes md Îļþ£¨ÎĵµÎļþ£©ÒÑ´Ó kubernetes/kubernetes ´æ´¢¿â×ªÒÆµ½ kubernetes/kubernetes.github.io ´æ´¢¿â¡£

ÀýÈ磬ÎĵµÍøÕ¾ http://kubernetes.io/docs/ ÉÏ·¢²¼µÄÎĵµÊÇ´Ó kubernetes/kubernetes.github.io ´æ´¢¿âÉú³ÉµÄ¡£

Èç¹ûÄúÒѰ´ÕÕ֮ǰµÄ˵Ã÷½øÐвÙ×÷£¬ÄÇôÄú»áÓÐÒ»¸öÃûΪ ~/go/src/k8s.io/kubernetes.github.io µÄĿ¼£¬ÆäÖаüº¬ÕâЩÎļþ¡£

¿É°´ÕÕÒÔϲÙ×÷˵Ã÷£¬¹¹½¨²¢ÍÐ¹Ü kubernetes ÎĵµÍøÕ¾µÄÒ»¸ö±¾µØ°æ±¾£º

http://kubernetes.io/editdocs/

ͨ¹ýÕâÖÖ·½Ê½£¬Äú¿ÉÒԱ༭Îĵµ£¬²¢Ô¤ÀÀÔÚ kubertnetes.io Éϵĸü¸ÄЧ¹û¡£

Ö¸µ¼Ô­Ôò/Òª×öµÄÊÂÇ飺

1.ÔÚÌá½»¸ü¸Ä֮ǰ£¬ÔÚÿ¸ö¸ü¸ÄµÄÎļþÉÏÔËÐÐ gofmt -s -w file.go¡£

2.ÔÚÌá½»¸ü¸Ä֮ǰ£¬ÔÚÿ¸ö¸ü¸ÄµÄÎļþÉÏÔËÐÐ golint¡££¨Kubernetes ÍŶÓĿǰûÓÐʹÓà lint¡£µ«Ëü²»»áÔì³ÉÈκÎÓ°Ïì¡££©

3.ÔÚ´´½¨»òÐ޸ŦÄÜʱ£¬¼ÇµÃ¸üÐÂÎĵµ¡£

4.¼ÇסÌí¼Ó²âÊÔ°¸ÀýÀ´°üº¬ÄúµÄ¸ü¸Ä¡£

5.ÔÚÌá½»ÐÞ¸´·½·¨»ò¹Ø±ÕÎÊÌâʱ£¬Ó¦ÔÚÌá½»ÏûÏ¢ Closes #XXXX »ò Fixes #XXXX ÖÐÒýÓÃËüÃÇ¡£

6.ÔÚÿ´ÎÌá½»ºó£¬ÔËÐвâÊÔÌ×¼þ²¢±£Ö¤Í¨¹ý²âÊÔ¡£

7.ÔÚ±àÂëµÄ¹ý³ÌÖÐÆµ·±µØÍ¬²½ºÍÖ´ÐÐ rebase£¬ÒÔ¸úÉÏÖ÷½ÚµãµÄ½ø¶È¡£

Ï£Íû±¾Ö¸ÄÏ¿ÉÒÔ°ïÖúÄú¿ªÊ¼Ö´ÐÐ Kubernetes ¿ª·¢¡£

   
2370 ´Îä¯ÀÀ       43
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤