diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index b86f33dd..6a6285a2 100755 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -16,4 +16,4 @@ jobs: with: check_filenames: true skip: ./.git,./.github/workflows/codespell.yml,.git,*.png,*.jpg,*.svg,*.sum,./vhd-notes/* - ignore_words_list: AKS,aks,nd,aci + ignore_words_list: AKS,aks,nd,aci,rouge diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml new file mode 100644 index 00000000..8fb3b3b9 --- /dev/null +++ b/.github/workflows/jekyll-gh-pages.yml @@ -0,0 +1,51 @@ +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll with GitHub Pages dependencies preinstalled + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Pages + uses: actions/configure-pages@v5 + - name: Build with Jekyll + uses: actions/jekyll-build-pages@v1 + with: + source: ./blog + destination: ./_site + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/blog/.gitignore b/blog/.gitignore new file mode 100644 index 00000000..f40fbd8b --- /dev/null +++ b/blog/.gitignore @@ -0,0 +1,5 @@ +_site +.sass-cache +.jekyll-cache +.jekyll-metadata +vendor diff --git a/blog/Gemfile b/blog/Gemfile new file mode 100644 index 00000000..28ae1d62 --- /dev/null +++ b/blog/Gemfile @@ -0,0 +1,37 @@ +source "https://rubygems.org" +# Hello! This is where you manage which Jekyll version is used to run. +# When you want to use a different version, change it below, save the +# file and run `bundle install`. Run Jekyll with `bundle exec`, like so: +# +# bundle exec jekyll serve +# +# This will help ensure the proper Jekyll version is running. +# Happy Jekylling! +gem "jekyll", "~> 3.9.5" + +# If you want to use GitHub Pages, remove the "gem "jekyll"" above and +# uncomment the line below. To upgrade, run `bundle update github-pages`. +# gem "github-pages", group: :jekyll_plugins +# If you have any plugins, put them here! +group :jekyll_plugins do + gem "jekyll-feed", "~> 0.12" + gem "jekyll-target-blank", "~> 2.0", ">= 2.0.2" +end + +# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem +# and associated library. +platforms :mingw, :x64_mingw, :mswin, :jruby do + gem "tzinfo", ">= 1", "< 3" + gem "tzinfo-data" +end + +# Performance-booster for watching directories on Windows +gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] + +# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem +# do not have a Java counterpart. +gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] + +gem "github-pages", group: :jekyll_plugins +gem "jekyll-include-cache", group: :jekyll_plugins +gem "webrick", "~> 1.8", ">= 1.8.1" \ No newline at end of file diff --git a/blog/Gemfile.lock b/blog/Gemfile.lock new file mode 100644 index 00000000..94385eb0 --- /dev/null +++ b/blog/Gemfile.lock @@ -0,0 +1,313 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (7.1.3.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + base64 (0.2.0) + bigdecimal (3.1.7) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.10) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) + dnsruby (1.72.0) + simpleidn (~> 0.2.1) + drb (2.2.1) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.9.1) + faraday (2.9.0) + faraday-net_http (>= 2.0, < 3.2) + faraday-net_http (3.1.0) + net-http + ffi (1.16.3) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (231) + github-pages-health-check (= 1.18.2) + jekyll (= 3.9.5) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.4.0) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.13.6, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.0) + i18n (1.14.4) + concurrent-ruby (~> 1.0) + jekyll (3.9.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.4.0) + commonmarker (~> 0.23.7) + jekyll (~> 3.9.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-target-blank (2.0.2) + jekyll (>= 3.0, < 5.0) + nokogiri (~> 1.10) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.3.6) + mini_portile2 (2.8.5) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.22.3) + mutex_m (0.2.0) + net-http (0.4.1) + uri + nokogiri (1.16.3) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + nokogiri (1.16.3-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.3-arm-linux) + racc (~> 1.4) + nokogiri (1.16.3-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.3-x86-linux) + racc (~> 1.4) + nokogiri (1.16.3-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.3-x86_64-linux) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (5.0.5) + racc (1.7.3) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (3.30.0) + rubyzip (2.3.2) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.2) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + simpleidn (0.2.1) + unf (~> 0.1.4) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.9.1) + unicode-display_width (1.8.0) + uri (0.13.0) + webrick (1.8.1) + +PLATFORMS + aarch64-linux + aarch64-linux + aarch64-linux-android + aarch64-linux-musl + arm-linux + arm-linux-androideabi + arm-linux-musleabihf + arm64-darwin + ruby + x86-linux + x86-linux + x86-linux-android + x86-linux-musl + x86_64-darwin + x86_64-linux + x86_64-linux-android + x86_64-linux-musl + +DEPENDENCIES + github-pages + http_parser.rb (~> 0.6.0) + jekyll (~> 3.9.5) + jekyll-feed (~> 0.12) + jekyll-include-cache + jekyll-target-blank (~> 2.0, >= 2.0.2) + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1.1) + webrick (~> 1.8, >= 1.8.1) + +BUNDLED WITH + 2.5.6 diff --git a/blog/_config.yml b/blog/_config.yml new file mode 100644 index 00000000..13547e2b --- /dev/null +++ b/blog/_config.yml @@ -0,0 +1,95 @@ +# Welcome to Jekyll! +# +# This config file is meant for settings that affect your whole blog, values +# which you are expected to set up once and rarely edit after that. If you find +# yourself editing this file very often, consider using Jekyll's data files +# feature for the data you need to update frequently. +# +# For technical reasons, this file is *NOT* reloaded automatically when you use +# 'bundle exec jekyll serve'. If you change this file, please restart the server process. +# +# If you need help with YAML syntax, here are some quick references for you: +# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml +# https://learnxinyminutes.com/docs/yaml/ +# +# Site settings +# These are used to personalize your new site. If you look in the HTML files, +# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. +# You can create any custom variable you would like, and they will be accessible +# in the templates via {{ site.myvariable }}. + +title: "AKS Engineering Team Blog" +email: brian.redmond@microsoft.com +description: >- # this means to ignore newlines until "baseurl:" + "Insights and best practices from the AKS Engineering Team" +baseurl: "/AKS" # the subpath of your site, e.g. /blog +twitter_username: theakscommunity +github_username: theakscommunity +logo: "/assets/images/400x400.png" +permalink: /:year/:month/:day/:title +search: true + +# Site theme and skin +remote_theme: "mmistakes/minimal-mistakes@4.24.0" +minimal_mistakes_skin: neon + +# Build settings +include: ["_pages"] + +# Jekyll plugins +plugins: + - jekyll-feed + - jekyll-target-blank + - jekyll-include-cache + +## Default front matter +defaults: + - scope: + path: "" + type: posts + values: + layout: single + author_profile: true + read_time: true + comments: true + share: true + related: true + sidebar: + nav: "side" + +# Footer links that get rendered via _includes/footer.html +# https://github.com/mmistakes/minimal-mistakes/blob/master/_includes/footer.html +footer: + links: + - url: "mailto:brian.redmond@microsoft.com" + icon: "fas fa-envelope" + label: "Mail" + - url: "https://github.com/Azure/AKS" + icon: "fab fa-fw fa-github" + label: "GitHub" + - url: "https://twitter.com/theakscommunity" + icon: "fab fa-fw fa-twitter" + label: "X" + - url: "https://www.youtube.com/@theakscommunity" + icon: "fab fa-fw fa-youtube" + label: "YouTube" + +# Exclude from processing. +# The following items will not be processed, by default. +# Any item listed under the `exclude:` key here will be automatically added to +# the internal "default list". +# +# Excluded items can be processed by explicitly listing the directories or +# their entries' file path in the `include:` list. +# +# exclude: +# - .sass-cache/ +# - .jekyll-cache/ +# - gemfiles/ +# - Gemfile +# - Gemfile.lock +# - node_modules/ +# - vendor/bundle/ +# - vendor/cache/ +# - vendor/gems/ +# - vendor/ruby/ diff --git a/blog/_data/authors.yml b/blog/_data/authors.yml new file mode 100644 index 00000000..c198f760 --- /dev/null +++ b/blog/_data/authors.yml @@ -0,0 +1,46 @@ +Brian Redmond: + name : "Brian Redmond" + bio : "Brian works on AKS and Azure Cloud Native Platforms and is responsible for customer and community efforts globally." + avatar : "https://pbs.twimg.com/profile_images/1061507580202078213/KnOEjBzC_400x400.jpg" # Replace this with your avatar image + links: + - label: "Email" + icon: "fas fa-fw fa-envelope-square" + url: "mailto:brian.redmond@microsoft.com" + - label: "X" + icon: "fab fa-fw fa-twitter" + url: "https://twitter.com/chzbrgr71" + - label: "LinkedIn" + icon: "fab fa-fw fa-linkedin" + url: "https://www.linkedin.com/in/redmondbrian" + +Jorge Palma: + name : "Jorge Palma" + bio : "Jorge is the Principal PM Lead for the Azure Kubernetes Service." + avatar : "https://pbs.twimg.com/profile_images/1301683263757455360/W9VCi9oA_400x400.jpg" # Replace this with your avatar image + links: + - label: "X" + icon: "fab fa-fw fa-twitter" + url: "https://twitter.com/jorgefpalma" + - label: "LinkedIn" + icon: "fab fa-fw fa-linkedin" + url: "https://www.linkedin.com/in/jpalma21" + +Kaarthikeyan Subramanian: + name : "Kaarthikeyan Subramanian" + bio : "Product Manager" + avatar : "" # Replace this with your avatar image + +Paul Yu: + name : "Paul Yu" + bio : "Azure Cloud Advocate." + avatar : "https://pbs.twimg.com/profile_images/1646930025248346114/-4anTs8L_400x400.jpg" # Replace this with your avatar image + links: + - label: "Website" + icon: "fas fa-fw fa-link" + url: "https://paulyu.dev" + - label: "LinkedIn" + icon: "fab fa-fw fa-linkedin" + url: "https://www.linkedin.com/in/yupaul/" + - label: "GitHub" + icon: "fab fa-fw fa-github" + url: "https://github.com/pauldotyu" \ No newline at end of file diff --git a/blog/_data/navigation.yml b/blog/_data/navigation.yml new file mode 100644 index 00000000..31a83761 --- /dev/null +++ b/blog/_data/navigation.yml @@ -0,0 +1,39 @@ +main: + - title: "Posts" + url: /posts/ + - title: "Tags" + url: /tags/ + - title: "Releases" + url: https://github.com/Azure/AKS/releases + - title: "Roadmap" + url: https://github.com/Azure/AKS/projects/1 + +side: + - title: Links + children: + - title: "Documentation" + url: https://learn.microsoft.com/azure/aks + - title: "Architecture Center" + url: https://learn.microsoft.com/azure/architecture/reference-architectures/containers/aks-start-here + - title: "Landing Zone Accelerator" + url: https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/app-platform/aks/landing-zone-accelerator + - title: "Learning Paths" + url: https://learn.microsoft.com/training/browse/?products=azure-kubernetes-service + - title: "Troubleshooting Guides" + url: https://learn.microsoft.com/troubleshoot/azure/azure-kubernetes/welcome-azure-kubernetes + - title: "Frequently Asked Questions" + url: https://learn.microsoft.com/azure/aks/faq + - title: "Kubernetes: Getting Started" + url: https://azure.microsoft.com/solutions/kubernetes-on-azure/get-started/ + + - title: Contact us + children: + - title: "GitHub" + icon: "fab fa-fw fa-github" + url: https://github.com/Azure/AKS + - title: "X" + icon: "fab fa-fw fa-twitter" + url: https://twitter.com/theakscommunity + - title: "YouTube" + icon: "fab fa-fw fa-youtube" + url: https://www.youtube.com/@theakscommunity diff --git a/blog/_includes/archive-single.html b/blog/_includes/archive-single.html new file mode 100644 index 00000000..469eeafe --- /dev/null +++ b/blog/_includes/archive-single.html @@ -0,0 +1,30 @@ +{% if post.header.teaser %} + {% capture teaser %}{{ post.header.teaser }}{% endcapture %} +{% else %} + {% assign teaser = site.teaser %} +{% endif %} + +{% if post.id %} + {% assign title = post.title | markdownify | remove: "

" | remove: "

" %} +{% else %} + {% assign title = post.title %} +{% endif %} + +
+
+ {% if include.type == "grid" and teaser %} +
+ +
+ {% endif %} +

+ {% if post.link %} + {{ title }} Permalink + {% else %} + {{ title }} + {% endif %} +

+ {% include page__meta.html type=include.type %} + +
+
diff --git a/blog/_includes/head/custom.html b/blog/_includes/head/custom.html new file mode 100644 index 00000000..849eed26 --- /dev/null +++ b/blog/_includes/head/custom.html @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/blog/_includes/nav_list b/blog/_includes/nav_list new file mode 100644 index 00000000..53d7cbc2 --- /dev/null +++ b/blog/_includes/nav_list @@ -0,0 +1,36 @@ +{% assign navigation = site.data.navigation[include.nav] %} + + diff --git a/blog/_includes/page__meta.html b/blog/_includes/page__meta.html new file mode 100644 index 00000000..dd67ecbd --- /dev/null +++ b/blog/_includes/page__meta.html @@ -0,0 +1,35 @@ +{% assign document = post | default: page %} + +
{{ document.description }}
+{% if document.read_time or document.show_date %} +

+ {% if document.show_date and document.date %} + {% assign date = document.date %} + + + {% assign date_format = site.date_format | default: "%B %-d, %Y" %} + + + {% endif %} + + {% if document.read_time and document.show_date %}{% endif %} + + {% if document.read_time %} + {% assign words_per_minute = document.words_per_minute | default: site.words_per_minute | default: 200 %} + {% assign words = document.content | strip_html | number_of_words %} + + + Posted by {{ document.author }}   {{ document.date | date: "%B %-d, %Y" }}   +   + {% if words < words_per_minute %} + {{ site.data.ui-text[site.locale].less_than | default: "less than" }} 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} + {% elsif words == words_per_minute %} + 1 {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} + {% else %} + {{ words | divided_by: words_per_minute }} {{ site.data.ui-text[site.locale].minute_read | default: "minute read" }} + {% endif %} + + {% endif %} +

+{% endif %} + diff --git a/blog/_includes/single.html b/blog/_includes/single.html new file mode 100644 index 00000000..18e6c045 --- /dev/null +++ b/blog/_includes/single.html @@ -0,0 +1,89 @@ +--- +layout: default +--- + +{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} + {% include page__hero.html %} +{% elsif page.header.video.id and page.header.video.provider %} + {% include page__hero_video.html %} +{% endif %} + +{% if page.url != "/" and site.breadcrumbs %} + {% unless paginator %} + {% include breadcrumbs.html %} + {% endunless %} +{% endif %} + +
+ {% include sidebar.html %} + +
+ {% if page.title %}{% endif %} + {% if page.excerpt %}{% endif %} + {% if page.date %}{% endif %} + {% if page.last_modified_at %}{% endif %} + +
+ {% unless page.header.overlay_color or page.header.overlay_image %} +
+ {% if page.title %}

{{ page.title | markdownify | remove: "

" | remove: "

" }}

{% endif %} + {% include page__meta.html %} +
+ {% endunless %} + +
+ {% if page.toc %} + + {% endif %} + {{ content }} + {% if page.link %}
{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}
{% endif %} +
+ +
+ {% if site.data.ui-text[site.locale].meta_label %} +

{{ site.data.ui-text[site.locale].meta_label }}

+ {% endif %} + {% include page__taxonomy.html %} + +
+ + {% if page.share %}{% include social-share.html %}{% endif %} + + {% include post_pagination.html %} +
+ + {% if jekyll.environment == 'production' and site.comments.provider and page.comments %} + {% include comments.html %} + {% endif %} +
+ + {% comment %}{% endcomment %} + {% if page.id and page.related and site.related_posts.size > 0 %} + + {% comment %}{% endcomment %} + {% elsif page.id and page.related %} + + {% endif %} +
diff --git a/blog/_includes/social-share.html b/blog/_includes/social-share.html new file mode 100644 index 00000000..f32a41f3 --- /dev/null +++ b/blog/_includes/social-share.html @@ -0,0 +1,9 @@ +
+ {% if site.data.ui-text[site.locale].share_on_label %} +

{{ site.data.ui-text[site.locale].share_on_label | default: "Share on" }}

+ {% endif %} + + Twitter + + LinkedIn +
diff --git a/blog/_layouts/archive-notitle.html b/blog/_layouts/archive-notitle.html new file mode 100644 index 00000000..c1a3057d --- /dev/null +++ b/blog/_layouts/archive-notitle.html @@ -0,0 +1,23 @@ +--- +layout: default +--- + +{% if page.header.overlay_color or page.header.overlay_image or page.header.image %} + {% include page__hero.html %} +{% elsif page.header.video.id and page.header.video.provider %} + {% include page__hero_video.html %} +{% endif %} + +{% if page.url != "/" and site.breadcrumbs %} + {% unless paginator %} + {% include breadcrumbs.html %} + {% endunless %} +{% endif %} + +
+ {% include sidebar.html %} + +
+ {{ content }} +
+
\ No newline at end of file diff --git a/blog/_layouts/categories.html b/blog/_layouts/categories.html new file mode 100644 index 00000000..3291044e --- /dev/null +++ b/blog/_layouts/categories.html @@ -0,0 +1,43 @@ +--- +layout: archive +--- + +{{ content }} + +{% assign categories_max = 0 %} +{% for category in site.categories %} + {% if category[1].size > categories_max %} + {% assign categories_max = category[1].size %} + {% endif %} +{% endfor %} + + + +{% assign entries_layout = page.entries_layout | default: 'list' %} +{% for i in (1..categories_max) reversed %} + {% for category in site.categories %} + {% if category[1].size == i %} +
+

{{ category[0] | capitalize }}

+
+ {% for post in category.last %} + {% include archive-single.html type=entries_layout %} + {% endfor %} +
+ {{ site.data.ui-text[site.locale].back_to_top | default: 'Back to Top' }} ↑ +
+ {% endif %} + {% endfor %} +{% endfor %} diff --git a/blog/_layouts/category.html b/blog/_layouts/category.html new file mode 100644 index 00000000..2fd1260c --- /dev/null +++ b/blog/_layouts/category.html @@ -0,0 +1,11 @@ +--- +layout: archive-notitle +--- + +

{{ page.taxonomy | capitalize }}

+{{ page.taxonomy_description }} + +{% assign entries_layout = page.entries_layout | default: 'list' %} +
+ {% include posts-category.html taxonomy=page.taxonomy type=entries_layout %} +
diff --git a/blog/_pages/404.md b/blog/_pages/404.md new file mode 100644 index 00000000..ec1cab8f --- /dev/null +++ b/blog/_pages/404.md @@ -0,0 +1,27 @@ +--- +permalink: /404.html +layout: single +sidebar: + nav: "side" +--- + + + +
+

404

+ +

Page not found :(

+

The requested page could not be found.

+
\ No newline at end of file diff --git a/blog/_pages/categories.html b/blog/_pages/categories.html new file mode 100644 index 00000000..0037aee7 --- /dev/null +++ b/blog/_pages/categories.html @@ -0,0 +1,7 @@ +--- +layout: categories +permalink: /categories/ +title: Categories +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-addons.html b/blog/_pages/category-addons.html new file mode 100644 index 00000000..ce7375a8 --- /dev/null +++ b/blog/_pages/category-addons.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/addons +title: Category +taxonomy: addons +taxonomy_description: Managed add-ons and extensibility with AKS +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-developer.html b/blog/_pages/category-developer.html new file mode 100644 index 00000000..0967ef40 --- /dev/null +++ b/blog/_pages/category-developer.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/developer +title: Category +taxonomy: developer +taxonomy_description: Developer-focused topics on AKS +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-general.html b/blog/_pages/category-general.html new file mode 100644 index 00000000..0dfc2ab6 --- /dev/null +++ b/blog/_pages/category-general.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/general/ +title: Category +taxonomy: general +taxonomy_description: General topics on AKS +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-networking.html b/blog/_pages/category-networking.html new file mode 100644 index 00000000..b1e2766b --- /dev/null +++ b/blog/_pages/category-networking.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/networking +title: Category +taxonomy: networking +taxonomy_description: Networking topics and scenarios +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-operations.html b/blog/_pages/category-operations.html new file mode 100644 index 00000000..9b855a8f --- /dev/null +++ b/blog/_pages/category-operations.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/operations +title: Category +taxonomy: operations +taxonomy_description: Cluster operations and management topics +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/category-security.html b/blog/_pages/category-security.html new file mode 100644 index 00000000..3bde0779 --- /dev/null +++ b/blog/_pages/category-security.html @@ -0,0 +1,9 @@ +--- +layout: category +permalink: /category/security +title: Category +taxonomy: security +taxonomy_description: Security and compliance on AKS +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/home.md b/blog/_pages/home.md new file mode 100644 index 00000000..3204eb52 --- /dev/null +++ b/blog/_pages/home.md @@ -0,0 +1,11 @@ +--- +title: "Welcome!" +layout: home +permalink: / +sidebar: + nav: "side" +--- + +This Blog is a home for content directly from the Azure Kubernetes Service (AKS) Engineering and Product Management Team. + +AKS is one of the most critical services in the Azure Cloud Platform. AKS offers the quickest way to start developing and deploying cloud-native apps in Azure, datacenters, or at the edge with built-in code-to-cloud pipelines and guardrails. Get unified management and governance for on-premises, edge, and multicloud Kubernetes clusters. Interoperate with Azure security, identity, cost management, and migration services. diff --git a/blog/_pages/posts.md b/blog/_pages/posts.md new file mode 100644 index 00000000..d83aec37 --- /dev/null +++ b/blog/_pages/posts.md @@ -0,0 +1,7 @@ +--- +title: Posts +permalink: /posts/ +layout: posts +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_pages/splash.md b/blog/_pages/splash.md new file mode 100644 index 00000000..ba2c891c --- /dev/null +++ b/blog/_pages/splash.md @@ -0,0 +1,67 @@ +--- +title: "Splash" +layout: splash +permalink: /splash/ +date: 2016-03-23T11:48:41-04:00 +header: + overlay_color: "#000" + overlay_filter: "0.5" + overlay_image: https://images.unsplash.com/photo-1615401318973-c78255cc9562?q=80&w=1374&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + actions: + - label: "Download" + url: "https://github.com/mmistakes/minimal-mistakes/" + caption: "Photo credit: [**Unsplash**](https://unsplash.com)" +excerpt: "This is some sample content." +intro: + - excerpt: 'This is some sample content Centered with `type="center"`' +feature_row: + - image_path: https://images.unsplash.com/photo-1711472390696-581c8f7f3453?q=80&w=1335&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + alt: "placeholder image 1" + title: "Placeholder 1" + excerpt: "This is some sample content that goes here with **Markdown** formatting." + - image_path: https://images.unsplash.com/photo-1710003875679-68aa1202e6ae?q=80&w=1480&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + image_caption: "Image courtesy of [Unsplash](https://unsplash.com/)" + alt: "placeholder image 2" + title: "Placeholder 2" + excerpt: "This is some sample content that goes here with **Markdown** formatting." + url: "#test-link" + btn_label: "Read More" + btn_class: "btn--primary" + - image_path: https://images.unsplash.com/photo-1711336399082-2fee0567c48c?q=80&w=1471&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + title: "Placeholder 3" + excerpt: "This is some sample content that goes here with **Markdown** formatting." +feature_row2: + - image_path: https://plus.unsplash.com/premium_photo-1709678337824-adc29e1b6b09?q=80&w=1421&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + alt: "placeholder image 2" + title: "Placeholder Image Left Aligned" + excerpt: 'This is some sample content that goes here with **Markdown** formatting. Left aligned with `type="left"`' + url: "#test-link" + btn_label: "Read More" + btn_class: "btn--primary" +feature_row3: + - image_path: https://images.unsplash.com/photo-1541450805268-4822a3a774ca?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + alt: "placeholder image 2" + title: "Placeholder Image Right Aligned" + excerpt: 'This is some sample content that goes here with **Markdown** formatting. Right aligned with `type="right"`' + url: "#test-link" + btn_label: "Read More" + btn_class: "btn--primary" +feature_row4: + - image_path: https://images.unsplash.com/photo-1573676564862-0e57e7eef951?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D + alt: "placeholder image 2" + title: "Placeholder Image Center Aligned" + excerpt: 'This is some sample content that goes here with **Markdown** formatting. Centered with `type="center"`' + url: "#test-link" + btn_label: "Read More" + btn_class: "btn--primary" +--- + +{% include feature_row id="intro" type="center" %} + +{% include feature_row %} + +{% include feature_row id="feature_row2" type="left" %} + +{% include feature_row id="feature_row3" type="right" %} + +{% include feature_row id="feature_row4" type="center" %} \ No newline at end of file diff --git a/blog/_pages/tags.html b/blog/_pages/tags.html new file mode 100644 index 00000000..1627d5a5 --- /dev/null +++ b/blog/_pages/tags.html @@ -0,0 +1,7 @@ +--- +layout: tags +permalink: /tags/ +title: Tags +sidebar: + nav: "side" +--- \ No newline at end of file diff --git a/blog/_posts/2024-04-01-placeholder-post.md b/blog/_posts/2024-04-01-placeholder-post.md new file mode 100644 index 00000000..7b082279 --- /dev/null +++ b/blog/_posts/2024-04-01-placeholder-post.md @@ -0,0 +1,12 @@ +--- +title: "New AKS Engineering Blog" +description: "The new blog is ready!" +date: 2024-04-01 +author: Brian Redmond +categories: general +--- + +## Welcome to the new AKS Engineering Blog + +Full description here + diff --git a/blog/_posts/2050-08-24-aks-past-present-future.md b/blog/_posts/2050-08-24-aks-past-present-future.md new file mode 100644 index 00000000..797c4e06 --- /dev/null +++ b/blog/_posts/2050-08-24-aks-past-present-future.md @@ -0,0 +1,25 @@ +--- +title: "AKS - How we got here" +description: "An exploration of the past, present, future for Azure Kubernetes Service (AKS)." +date: 2050-08-24 +author: Jorge Palma +categories: general +--- + +## Introduction + +My name is Jorge Palma and this is the inaugural post on our new AKS Engineering Team Blog. In this post we will take a journey through the history of the Azure Kubernetes Service. We will talk about how we got here and some thoughts about the future of AKS. + +{% include video id="yJOc3D52_Is" provider="youtube" %} + +## Early days of AKS + + +## Where we are today with AKS + + +## Looking forward + + +## Summary + diff --git a/blog/_posts/2050-08-24-sample-blog-post.md b/blog/_posts/2050-08-24-sample-blog-post.md new file mode 100644 index 00000000..e3a9ca1f --- /dev/null +++ b/blog/_posts/2050-08-24-sample-blog-post.md @@ -0,0 +1,23 @@ +--- +title: "Sample - Add your title here" +description: "Sample - Add your description" +date: 2050-08-24 # date is important. future dates will not be published +author: Brian Redmond # must match the authors.yml in the _data folder +categories: general # general, operations, networking, security, developer topics, add-ons +--- + +## Background + +Many customers tell us that keeping Kubernetes up to date is one of their biggest obstacles in managing clusters. In AKS, we've put significant effort into making automated upgrades easy and effective. + +## Section 1 + + +## Section 2 + + +## Section 3 + + +## Summary + diff --git a/blog/apple-touch-icon.png b/blog/apple-touch-icon.png new file mode 100644 index 00000000..29d88803 Binary files /dev/null and b/blog/apple-touch-icon.png differ diff --git a/blog/assets/css/main.scss b/blog/assets/css/main.scss new file mode 100644 index 00000000..230d57b8 --- /dev/null +++ b/blog/assets/css/main.scss @@ -0,0 +1,46 @@ +--- +# Only the main Sass file needs front matter (the dashes are enough) +--- + +@charset "utf-8"; + +/* system colors */ +$primary-color: #9F62EB; + +/* system typefaces */ +$serif : Georgia, Times, serif; +$sans-serif : "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif; +$monospace : "Roboto Mono", Monaco, Consolas, "Lucida Console", monospace; + +/* dracula syntax highlighting (base16) */ +/* https://github.com/dracula/base16-dracula-scheme */ +/* https://mmistakes.github.io/minimal-mistakes/docs/stylesheets/#dracula */ +$base00: #282936; +$base01: #3a3c4e; +$base02: #4d4f68; +$base03: #626483; +$base04: #62d6e8; +$base05: #e9e9f4; +$base06: #f1f2f8; +$base07: #f7f7fb; +$base08: #ea51b2; +$base09: #b45bcf; +$base0a: #00f769; +$base0b: #ebff87; +$base0c: #a1efe4; +$base0d: #62d6e8; +$base0e: #b45bcf; +$base0f: #00f769; + +@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin +@import "minimal-mistakes"; // main partials + +.page__meta { + margin-top: 0; +} + +.page__meta-description { + font-size: 0.8rem; + font-style: oblique; + margin-bottom: 0.1rem; +} \ No newline at end of file diff --git a/blog/assets/images/200x200.png b/blog/assets/images/200x200.png new file mode 100644 index 00000000..99a477d9 Binary files /dev/null and b/blog/assets/images/200x200.png differ diff --git a/blog/assets/images/400x400.png b/blog/assets/images/400x400.png new file mode 100644 index 00000000..a4643694 Binary files /dev/null and b/blog/assets/images/400x400.png differ diff --git a/blog/favicon-16x16.png b/blog/favicon-16x16.png new file mode 100644 index 00000000..3404ea77 Binary files /dev/null and b/blog/favicon-16x16.png differ diff --git a/blog/favicon-32x32.png b/blog/favicon-32x32.png new file mode 100644 index 00000000..1db8c19e Binary files /dev/null and b/blog/favicon-32x32.png differ diff --git a/blog/favicon.ico b/blog/favicon.ico new file mode 100644 index 00000000..48c33544 Binary files /dev/null and b/blog/favicon.ico differ