雲端計算
安裝Keystone先前作業 Python2.7 while
安裝Keystone先前作業
Keystone簡介 Keystone(OpenStack Identity Service)是OpenStack框架中,負責身份驗證、服務規則和服 務令牌的功能。 Keystone類似一個服務總線, 或者說是整個Openstack框架的註冊表, 其他服務通過 keystone來註冊其服務的Endpoint(服務訪問的URL),任何服務之間相互的調用, 需要經 過Keystone的身份驗證, 來獲得目標服務的Endpoint來找到目標服務。 由於OpenStack所有個服務都需要再Keystone上進行註冊,所以OpenStack的安裝需要從 Keystone入手。
架設MySQL Keystone所有的資料都儲存於資料庫中,在此使用MySQL作為資料庫 在安裝MySQL前,首先需要設定防火牆。
架設MySQL 如果每次機器重新啟動之後都要輸入這些指令,並不是個好方法。 因此,一種簡單的方法是在每次開機啟動後,執行這些設定。
架設MySQL https://github.com/JiYou/openstack/tree/master/chap03 在這裡是使用《王者歸來OpenStack雲端系統》這本書的腳本進行安裝 先到設定檔(localrc)中設定好MySQL的密碼,以及寫入MySQL服務所在的IP。 執行init.sh進行防火牆設定 在執行mysql.sh安裝MySQL
mysql.sh MySQL密碼設定程式如下: 其中set_password會呼叫tools/function中的set_password函數 #--------------------------------------------- # Get Password set_password MYSQL_ROOT_PASSWORD function set_password { set +o xtrace var=$1; pw=${!var} localrc=$TOP_DIR/localrc if [ ! $pw ]; then if [ ! -e $localrc ]; then touch $localrc fi pw=`openssl rand -hex 10` eval "$var=$pw" echo "$var=$pw" >> $localrc set -o xtrace }
mysql.sh 安裝MySQL則使用以下指令: #--------------------------------------------- # Install mysql by apt-get DEBIAN_FRONTEND=noninteractive \ apt-get --option "Dpkg::Options::=--force-confold" --assume-yes \ install -y --force-yes openssh-server mysql-server
mysql.sh 設定MySQL 當安裝好MySQL之後, MySQL並沒有設定root的密碼,如果直接連接會失敗。 #--------------------------------------------- # Set root's password if [[ `cat /etc/mysql/my.cnf | grep "0.0.0.0" | wc -l` -eq 0 ]]; then mysqladmin -uroot password $MYSQL_ROOT_PASSWORD fi sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf service mysql restart
mysql.sh 接下來是設定root使用者的許可權,以免在連接時出現不能連接的情況 #--------------------------------------------- # Give root's right mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "use mysql; delete from user where user=''; flush privileges;" mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD'; FLUSH PRIVILEGES;" mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES;" mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD'; FLUSH PRIVILEGES;" mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION; FLUSH PRIVILEGES;" mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "flush privileges;"
安裝RabbitMQ訊息通訊服務 MySQL安裝成功之後,接下來安裝RabbitMQ訊息通訊服務。 MySQL為OpenStack提供了資料庫服務,而RabbitMQ則提供了以訊息為基礎的通訊服務和 遠端函數呼叫功能。 https://github.com/JiYou/openstack/tree/master/chap03 在這裡是使用《王者歸來OpenStack雲端系統》這本書的腳本進行安裝 先到設定檔(localrc)中設定相關的變數 執行rabbitmq.sh進行安裝
Python2.7
Copy()
Del remove()
Pop()
Sort() sorted()
串列的串列
while
While…else…
break
continue
random
驗收 Create 20 random value in a list *use pop()
驗收 Create 20 random value in a list *use pop()