±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚ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 |
ÅäÖû·¾³±äÁ¿£º
Ìí¼ÓÒÔÏÂÐУº
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 °²×°£º
°²×° 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
·¾¶ÖÐ
ÔÚµÚÒ»¸öÖÕ¶ËÖУ¬ÔËÐУº
ÔÚµÚ¶þ¸öÖÕ¶ËÖУ¬ÔËÐУº
$
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
Òª¹¹½¨ÔÚ±¾µØÔËÐеĶþ½øÖƳÌÐò£º
e2e ²âÊÔ˵Ã÷£º¶ÔÓÚĬÈ쵀 e2e ²âÊÔÑ¡Ïµ±¿Í»§¶ËºÍ·þÎñÆ÷µÄ°æ±¾²»Í¬²½Ê±£¬e2e ²âÊÔ²»»áÔËÐС£ÐÂÔö£ºÄúÏÖÔÚ¿ÉÒÔÉèÖÃ
check_version_skew=false£¬ÒÔ±ãʹÓò»Í¬²½µÄ°æ±¾À´ÔËÐÐ e2e¡£
¸ù¾ÝÄúËù×öµÄ¸ü¸Ä£¬²»Ò»¶¨Òª¹¹½¨¿Í»§¶Ë/·þÎñÆ÷¡£ÒªÇ¿ÖƶþÕßͬ²½£¨Çå³ý/ɾ³ý¹¹½¨¶þ½øÖÆÎļþ£©£¬¿ÉʹÓãº
ÒªÉú³ÉÒ»¸ö°æ±¾£º
ÒªÉú³ÉÒ»¸ö°æ±¾¶ø²»ÔËÐвâÊÔ£º
$
make release-skip-tests |
²âÊÔ Kubernetes£¨µ¥ÔªºÍ¼¯³É²âÊÔ£©
µ¥Ôª²âÊÔ£º
½öÔËÐÐ 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 ¿ª·¢¡£ |