《盛唐五人團》:同樣寫花鳥,杜甫和王維卻是一悲一喜,這就是兩人本性不同之處了

《盛唐五人團》:同樣寫花鳥,杜甫和王維卻是一悲一喜,這就是兩人本性不同之處了
Photo Credit: 啟動文化出版

我們想讓你知道的是

只有完整了解詩的人生平,才能讀懂詩作的內涵。只有清楚詩作的涵義,才能完整貼近詩人的心情。生活在最輝煌盛唐的詩人,如何相互激盪出各自的人生故事與傳世名作?

文:趙啟麟

(二)佛.王維——我心素已閒的佛系青年

(前略)

勸君更盡一杯酒,西出陽關無故人

只不過世事不能盡如人意,守喪期滿,五十二歲的王維回到朝廷任職吏部郎中。此時朝政進一步惡化,玄宗竟然讓楊貴妃收安祿山為義子,又封他為東平郡王,讓安祿山的勢力進一步擴大。更糟的是後來李林甫過世,雖然他品行有可議之處,但至少他嫻熟朝政,因此還能制衡安祿山。又更糟的是李林甫卒後,玄宗以楊貴妃那位不學無術的堂兄楊國忠為宰相。

義子畢竟敵不過親兄弟,楊國忠攬權之後,不斷跟玄宗說安祿山必然會謀反,這些話傳到了安祿山耳中,更加深了朝廷的紊亂。雖然玄宗曾有過勵精圖治的開元盛世,但大唐之所以衰落,還是只能怪罪玄宗,只是沒人敢說。當然以王維的個性,他也不會說。

三年後,王維轉任給(ㄐㄧˇ)事中,同年,安祿山果然於范陽起兵,其後更稱帝,建立大燕國。戰火波及京城之前,王維寫了二首著名的送別詩:

送元二使安西  王維

渭城朝雨浥輕塵,客舍青青柳色新。
勸君更盡一杯酒,西出陽關無故人。

王維在渭城送元二出使安西都護府,早上的雨水濕潤了道路上的塵土,這樣路上就不會塵土飛揚了,客舍旁的楊柳也因此更加青翠清新,這是一個適合出行的日子。不過啊,還是要勸你再喝一杯酒,因為出了陽關之後就見不到故交好友了。

這首詩又名〈渭城曲〉,王維一寫出來之後,大家爭相傳唱,名曲〈陽關三疊〉即是源於此詩。而且這首歌歷久不衰,幾十年後白居易勸人飲酒時也說:「相逢且莫推辭醉,聽唱〈陽關〉第四聲。」詩後註明第四聲即是「勸君更盡一杯酒,西出陽關無故人」。劉禹錫離別京城二十年之後重遇歌手何勘也說:「舊人唯有何戡在,更與殷勤唱〈渭城〉。」

王維寫的另一首著名送別詩是這首:

江上贈李龜年  王維

紅豆生南國,春來發幾枝。
勸君多採擷,此物最相思。

這首詩又名〈相思〉。李龜年是宮中最著名的歌手,據說因為玄宗特別喜歡他,因此他的宅院甚至可以大過公侯之家。又據傳玄宗與楊貴妃賞牡丹花時,命李白作詩〈清平調〉三首,即是由李龜年演唱。玄宗自己就是音樂行家,史載,他擅打羯鼓,又熟音律,他曾選了三百子弟,在梨園教他們演奏,「聲有誤者,帝必覺而正之」,只要有人演奏錯了,他馬上就會發現糾正,這批人號為「皇帝梨園弟子」。王維也是擅彈琵琶的音樂行家,或許這也是他可以受玄宗寵信多年的原因之一。

王維與李龜年惺惺相惜,這時北方已經兵荒馬亂,李龜年或許是要前往江南避難,王維在這首詩說,紅豆生長於南方,春天時想必生長繁盛吧?希望你能多採幾枝紅豆,這是最能引起我們兩地相思之物啊!

後來李龜年流落江南,頗為潦倒,常在歌筵酒席間演唱這首詩,聽者無不黯然流淚。同樣落魄江南的杜甫曾經見過他一面,並寫了一首〈江南逢李龜年〉相贈:「岐王宅裡尋常見,崔九堂前幾度聞。正是江南好風景,落花時節又逢君。」

後來安史軍攻陷洛陽、長安,玄宗奔蜀,途中軍士譁變,玄宗不得已在馬嵬坡殺了楊貴妃及楊國忠,並留下太子李亨繼續討賊。沒多久李亨在靈武自行即位,即後來的唐肅宗,並尊玄宗為太上皇。

與此同時,亂軍大肆搜捕未能隨駕出逃的群臣、宮嬪,並脅迫群臣於新朝廷中任職。王維也被捕,他雖然作了消極的抵抗,趁機吃下瀉藥後身體虛弱,再裝作啞巴,仍被送往洛陽拘禁於菩提寺。由於安祿山也喜好音樂,因此宮中的樂工絕不放過,抓捕了數百位梨園弟子。

其後,安祿山大宴群臣於凝碧池,音樂一起,梨園弟子眼淚就掉了下來,軍兵雖然拿出兵刃相加,要他們繼續演奏,但是其中一位樂工雷海清更是丟下樂器痛哭,然後就被帶出去殺了。

王維聽說這件事後非常難過,他應該很思念玄宗,也很懷念以前在山林隱居的生活吧。不過安祿山可不是突如其來的叛變,這早就有許多跡象可循了,而且相比於千家萬戶的百姓所受到的戰火蹂躪,他畢竟仍是安然無恙。好友裴迪找到機會就去菩提寺探望他,並跟他說了凝碧池邊那些樂工的事。同樣身為音樂人,王維一聽就哭了,當場念了這兩首心懷玄宗(何日更朝天)、嚮往隱居生活(歸向桃花源)的詩:

菩提寺禁裴迪來相看說逆賊等,凝碧池上作音樂供奉人等,舉聲便一時淚下,私成口號誦示裴迪  王維

萬戶傷心生野煙,百僚何日更朝天。
秋槐葉落空宮裡,凝碧池頭奏管弦。

菩提寺禁口號又示裴迪  王維

安得舍羅網,拂衣辭世喧。
悠然策藜杖,歸向桃花源。

王維當時名聲已顯,安祿山也很欣賞他的才華,後來王維不再抵抗,還是接受了在大燕國的朝廷中繼續擔任給事中。王維再次「以不變應萬變」,但這次卻成為他政治生涯的一個汙點。不過這不能過於苛責王維,每個人的性格養成都不是一朝一夕,我們也不能要求每個人都像雷海清一樣置個人死生於度外。

僅一年餘,郭子儀就收復長安和洛陽,王維及其他「陷賊」(曾在安祿山朝中任職)的官員均被押解至長安,等待論罪。

王維的弟弟王縉在戰亂時與李光弼同守太原,平亂有功,加封憲部侍郎(即刑部侍郎),他請求削減自己的官職以贖王維之罪。肅宗此時也聽說王維曾念給裴迪聽的詩「萬戶傷心生野煙,百僚何日更朝天」,知道他仍一片忠心耿耿,因此赦免了王維,幾個月後又授任太子中允。

肅宗對待王維真是好得沒話說了,不過王維還是上了〈謝除太子中允表〉辭官:「臣聞食君之祿,死君之難,當逆蕃干紀,上皇出宮,臣進不得從行,退不能自殺,情雖可察,罪不容誅。」「伏謁明主,豈不自愧於心?仰廁群臣,亦復何施其面?」大意是自己陷賊時沒有以死明志,就已是死罪難逃,怎麼有顏面在朝任官呢?他只想要「出家修道,極其精勤……臣得奉佛報恩,自寬不死之痛」。但是肅宗不打算讓他出家,所以沒理會這張辭呈,仍然要他留任太子中允,沒多久又升他為中書舍人。


猜你喜歡


挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

我們想讓你知道的是

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

透過 AWS 增加雲端技能 在組織發揮影響力

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

打造第一個在 AWS 上的應用程式

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!


猜你喜歡